Sinch推送通知问题

时间:2016-01-11 12:45:53

标签: android parse-platform sinch

嘿,我已经尝试了所有可以在网上找到的关于允许sinch sdk使用

管理android推送通知的教程
findElements

但无济于事,当我尝试上述方法时,我没有得到任何结果,我甚至不知道是否有任何事情发生,当我尝试向目前不在应用程序上的某人发送消息时,我没有得到任何通知。我已经解决了这个问题好几周了,所以我很感激任何工作

2 个答案:

答案 0 :(得分:1)

请按照以下步骤进行如下操作:

1)清单中的许可:

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<permission android:name="com.sinch.messagingtutorial.app.permission.C2D_MESSAGE"
                android:protectionLevel="signature" />
<uses-permission android:name="com.sinch.messagingtutorial.app.permission.C2D_MESSAGE" />
<uses-permission
        android:name="com.google.android.c2dm.permission.RECEIVE" />

2)将Google Play服务lib添加到您的项目中,并在Google Play开发者控制台上创建项目的项目ID

3)使用您的项目ID,在LoginActivity.java onCreate中声明以下内容:

final GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(getApplicationContext());
    class RegisterGcmTask extends AsyncTask<Void, Void, String> {
        String msg = "";
        @Override
        protected String doInBackground(Void... voids) {
            try {
                msg = gcm.register("your-project-number");
            } catch (IOException ex) {
                msg = "Error :" + ex.getMessage();
            }
                return msg;
        }
        @Override
        protected void onPostExecute(String msg) {
            intent = new Intent(getApplicationContext(), ListUsersActivity.class);
            serviceIntent = new Intent(getApplicationContext(), MessageService.class);
            serviceIntent.putExtra("regId", msg);
            startActivity(intent);
            startService(serviceIntent);
        }
    }

有关详细信息,请参阅https://www.sinch.com/tutorials/send-push-notifications-android-messaging-app-using-gcm/链接

和Demo参考Github Link https://www.sinch.com/tutorials/send-push-notifications-android-messaging-app-using-gcm/

答案 1 :(得分:0)

我确保您的应用具有接收推送消息的以下权限(以及WAKE_LOCK权限,以便在收到推送后继续执行)。

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <permission android:name="YOUR.APP.PACKAGENAME.gcm.permission.C2D_MESSAGE" android:protectionLevel="signature"/> <uses-permission android:name="YOUR.APP.PACKAGENAME.gcm.permission.C2D_MESSAGE"/>

我还建议您查看此链接以接收GCM推送通知:https://developers.google.com/cloud-messaging/#manifest

希望这有帮助!