android - OneSignal 如何生成唯一的持久用户 ID?

标签 android uuid onesignal

我正在使用OneSignal向使用我的应用程序的用户发送推送通知。安装并启动应用程序时,会生成一个新的用户(玩家)ID 并将其发送到 OneSignal 服务器,然后您可以在 Web 仪表板中查询使用您的应用程序的用户。

public class MyApp extends Application {

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

}

当我清除数据并重新运行应用程序时,用户 ID 仍然相同。我的意思是,只有当我卸载应用程序并重新安装它时,才会重新创建用户 ID。它是如何完成的?我的意思是,OneSignal 存储第一次创建的用户 ID,以免每次都重新创建。

如果您在共享首选项或数据库中存储某些内容,则清除应用程序数据后,它们也会被清除。因此,使用共享首选项或数据库是行不通的。我确信这是一件愚蠢的事情,但我想知道它是如何实现的。

最佳答案

要使 OneSignal 正常工作,您应该为其提供 google_project_number(来自 Firebase)和 Google_server_API_Key(您也从 Firebase 获取)。 onesignal 在其 SDK 中为您完成的其他工作。所以,这是因为 firebase token 。仅当您重新初始化游戏服务时(主要是当您重新安装或更新应用程序时),他们才会向您发送新 token ,并且 One-Signal 通过某些方式从该 token 创建自己的 ID。

关于android - OneSignal 如何生成唯一的持久用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960814/

相关文章:

android - 带有 Onesignal 和 Android 支持 V4 的 java.lang.NoClassDefFoundError

javascript - 如何更改默认的 Onesignal 字体?

Android Searchview 不在操作栏中在其他 View 上创建

java - 如何从 onProgressUpdate 和 onPostExecute 获得响应

android - 锁屏对话框通知,如 whatsapp

php - Laravel 变形表,变形字段 ID 大小大于 1

java - 使用 Smack API 和 talk.goolgle.com 服务器进行 Android 聊天

postgresql - 如何将 uuid 与 postgresql gist 索引类型一起使用?

uuid - 蓝牙低功耗: How can i create my own base UUID and alias

ios - 通知警报禁用 swift