2017-01-31 2 views
2

OneSignalを使用して、アプリを使用しているユーザーにプッシュ通知を配信しています。 appをインストールして起動すると、新しいユーザー(プレーヤー)IDが生成されてOneSignalサーバーに送信され、Webダッシュボードでアプリケーションを使用してユーザーに問い合わせることができます。OneSignalが一意の永続ユーザーIDを生成する方法は?

public class MyApp extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     OneSignal.startInit(this).init(); 
    } 

} 

データを消去してアプリを再実行すると、ユーザーIDは変わりません。つまり、ユーザーIDは、アプリケーションをアンインストールして再インストールしたときにのみ再作成されます。どうしたの?つまり、毎回再作成しないようにOneSignalが最初に作成したユーザーIDを格納する場所です。

共有設定やデータベースに何かを保存すると、アプリデータを消去すると消去されます。したがって、共有の設定やデータベースを使用すると動作しません。私はそれが愚かなことだと確信していますが、私はそれがどのように実装されているのだろうか。

+0

世代のような音は、サーバーと通信することによって行われます。 – Simas

+0

その場合、サーバはどのようにしてデバイスが誰であるかを知ることができますか?サーバにユーザIDを要求するとき、デバイスはどのように「自認」されていますか? –

+1

ドキュメント:https://documentation.onesignal.com/docs/users-and-devicesから読むことができます:あなたのアプリケーションがインストールされている限り同じままになります。 Google AdのID(Android)からオプトアウトしても、完全に再インストールした後も同じIDになります。 –

答えて

2

OneSignalを動作させるには、firebaseから取得するgoogle_project_number(Firebaseから)とGoogle_server_API_Keyを指定する必要があります。そしてSDKの中で、他の仕事の信号があなたのために作ってくれます。だから、それはfirebaseトークンです。彼らは、あなたが新しいサービスを再起動するとき(あなたがアプリを再インストールしたり更新したとき)にサービスを再起動し、One-Signalよりも何らかの形でこのトークンから自分のIDを作成するときにのみ新しいトークンを送ります。

+0

いいえ、間違っています。 OneSignalを動作させるには、firebaseから取得したgoogle_project_number(Firebaseから)とGoogle_server_API_Keyを渡す必要があります。そして、他の仕事の信号があなたのためにそれを作るのSDK – WorieN

+0

わかりました、私は速すぎました。あなたがしたい場合はここであなたの答えを少し編集することができますので、私はそれをupvoteとdownvoteを削除することができます。 –

+1

私は答えを変更しました。それが助けになったら、それをアップヴォートすることができます。 – WorieN

関連する問題