如何在数据库中注册Registration_Id?
Posted
技术标签:
【中文标题】如何在数据库中注册Registration_Id?【英文标题】:How to register Registration_Id in database? 【发布时间】:2016-04-20 05:39:08 【问题描述】:我正在尝试将 GCM 用于 android。经过 developer.google 提供的一些步骤后,我在 toast 中获得了注册 ID,现在我想将其存储在数据库中。如何在此处更改以将其存储在数据库中。我需要为此更新更改哪些步骤???
代码
mRegistrationBroadcastReceiver = new BroadcastReceiver()
@Override
public void onReceive(Context context, Intent intent)
// checking for type intent filter
if (intent.getAction().equals(config.REGISTRATION_COMPLETE))
// gcm successfully registered
// now subscribe to `global` topic to receive app wide notifications
String token = intent.getStringExtra("token");
Toast.makeText(getApplicationContext(), "GCM registration token: " + token, Toast.LENGTH_LONG).show();
else if (intent.getAction().equals(config.SENT_TOKEN_TO_SERVER))
// gcm registration id is stored in our server's mysql
Toast.makeText(getApplicationContext(), "GCM registration token is stored in server!", Toast.LENGTH_LONG).show();
else if (intent.getAction().equals(config.PUSH_NOTIFICATION))
// new push notification is received
Toast.makeText(getApplicationContext(), "Push notification is received!", Toast.LENGTH_LONG).show();
;
【问题讨论】:
您可以使用 SharedPreference 来存储您的令牌。由于令牌只是一个变量,因此您可以将其保存在 sharedprefences 中,而不是保存在数据库中。 【参考方案1】:您可以将 GCM 令牌存储在 SharedPreferences 本身中。
这是你收到令牌后可以添加的一小段代码:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
SharedPreferences.Editor e = sharedPreferences.edit();
e.putString("GCMTOKEN", token);
e.commit();
要获得令牌,您可以使用它,
String token = sharedPreferences.getString("GCMTOKEN", null);
【讨论】:
其实我想要做的是,当它被值更新时,我想从数据库中获得通知。我有不同的客户端系统,对应的系统我必须发送不同的通知。【参考方案2】:我建议您将令牌作为键值对保留在 SharedPreference 中。您将能够轻松地检索和保存/更新您的注册 ID,而不是在 mySQL 中创建记录。
在这个问题的最佳答案中有一个实现。看看吧。
How to get RegistrationID using GCM in android
【讨论】:
【参考方案3】:您可以按照这个示例了解如何处理推送令牌注册和刷新令牌,这是一个重要的部分
https://github.com/ChamariaUmang/MoEngageDemo
【讨论】:
以上是关于如何在数据库中注册Registration_Id?的主要内容,如果未能解决你的问题,请参考以下文章