我正在尝试使用xamarin通知。 对于Android,我已按照以下步骤操作:https://developers.google.com/cloud-messaging/android/client,以便客户端显示通知。 在我的服务器端,我使用pushSharp插件,因为来自服务器端的消息被发送,所以看起来一切正常。 问题是我没有在手机上收到通知。我的应用程序只是在我处于调试模式时崩溃,或者有时候当应用程序处于后台时它会崩溃。我可以看到这种方法:
public override void OnMessageReceived(string from, Bundle data){//Extract the message received from GCM:
var message = data.GetString("message");
Log.Debug("MyGcmListenerService", "From: " + from);
Log.Debug("MyGcmListenerService", "Message: " + message);
//Forward the received message in a local notification:
SendNotification(message);}
根本没有被召唤。 我的清单如下:
<service android:name="com.my_companyname_goes_here.app_name_goes_here.android.MyGcmListenerService" android:exported="false">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
我尝试在网上搜索答案,但没有一个解决了我的问题:GcmListenerService is not called When Application is in Background Xamarin GCM OnMessageReceived is not called等 任何形式的帮助将不胜感激。
编辑: 这是我的json
{
"message": "test",
"vibrate": 1,
"sound": 1
}
答案 0 :(得分:0)
您可以阅读Xamarin官方文档Xamarin Google Cloud Messaging:
以下是有关上述文件的示例:
https://developer.xamarin.com/samples/monodroid/RemoteNotifications/
此外,请确保您的设备中有Google Play Services。
请尝试添加如下服务属性:
[Service(Exported = false), IntentFilter(new[] { "com.google.android.c2dm.intent.RECEIVE" })]
public class MyGcmListenerService : GcmListenerService
{
...
}