我正在使用OneSignal向使用我的应用的用户发送推送通知。安装并启动应用程序后,会生成一个新的用户(玩家)ID并将其发送到OneSignal服务器,然后您可以在Web仪表板中使用您的应用程序查询用户。
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
OneSignal.startInit(this).init();
}
}
当我清除数据并重新运行应用程序时,用户ID仍然相同。我的意思是,只有在我卸载应用程序并重新安装它时才会重新创建用户ID。怎么做?我的意思是,OneSignal存储第一次创建的用户ID,以便每次都不重新创建。
如果您在共享首选项或数据库中存储某些内容,清除应用程序数据后,它们也会被清除。因此,使用共享首选项或数据库将无法正常工作。我确定这是一个愚蠢的事情,但我想知道它是如何实现的。
答案 0 :(得分:2)
要使OneSignal正常工作,您应该将google_project_number(来自Firebase)和Google_server_API_Key(也是来自firebase)。而其他工作信号则在它的SDK中为您提供。所以,这是因为firebase令牌。只有当您重新启动播放服务时(大多数情况下重新安装或更新应用程序时),它们才会向您发送新令牌,而One-Signal会以某种方式从此令牌中获取自己的ID。