技術自体はandroidでもjqueryでもなんでも大丈夫です。
例えばIDが1〜1000までの1000個のデータがあります。
ユーザAは無限スクロールが実装されたアプリを開きました。
アプリはhttp://localhost/data?page=1にAPI通信をします。
そこでは、降順として、IDが981〜1000までのデータが得られました。
さて、このときにユーザBはデータを1つ追加しました。
その後、ユーザAは下までスクロールしました。
すると、アプリはhttp://localhost/data?page=2にAPI通信します。
しかし、ユーザBのせいでIDは最大1001になっているので、IDが962〜981のデータが得られます。
これをこのまま配列などに追加して表示してしまうと、IDが981のデータが2つ表示されてしまいます。
また、これはIDの重複が無いようにする、などの実装で対処することも可能かもしれないですが、
20件のデータをスクロールによって得たかったのに、19件しか得られていません。
これはまだユーザBが1つしかデータを追加していなかったからマシですが、ユーザBがもし100件とかデータを追加していたら、今表示されているデータよりも新しいデータがAPI通信で得られてしまうことになります。
もしAPI側の実装で、http://localhost/data?page=2&start_id=980のように、IDもパラメータに含める必要が出てくるのであれば、これをLaravelで実装する方法を教えて欲しいです!
(無限スクロールのサンプルの多くはpaginate関数を利用していますが、独自に実装する必要が出てくるのでしょうか?)
よろしくお願いします!
追記:
https://developer.twitter.com/en/docs/tweets/timelines/guides/working-with-timelines.html
このページをみたところ、どうやらmax_idとsince_idのようなものをパラメータとして使っていました。
無限スクロール用のAPI実装をするのがベストなのかなぁと言う感じですね。
もし、何かより良いアイデアがあれば知りたいので、質問はこのまましばらく残しておきます。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。