0

xamarin 알림을 사용하려고합니다. android 용 다음 단계를 따르면 클라이언트 측에서 알림을 표시하는 https://developers.google.com/cloud-messaging/android/client입니다. 내 서버 측에서 pushSharp 플러그인을 사용하고 있으며 서버 측의 메시지가 전송되기 때문에 모든 것이 정상적으로 작동합니다. 문제는 내가 내 전화로 알림을받지 못한다는 것입니다. 내 응용 프로그램은 디버그 모드에있을 때, 또는 때로는 응용 프로그램이 백그라운드에있을 때 화면이 망가질 때도 부서져 버립니다. 이 방법을 볼 수 있듯이 :OnMessageReceived가 호출되지 않았습니다.

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> 

내가 답변에 대한 웹 검색 시도했지만 아무도 그 다음으로 내 문제 해결 : Xamarin GCM OnMessageReceived is not called 요법 등 가 도움의 모든 종류가 GcmListenerService is not called When Application is in Background을 감상 할 수 있습니다.

편집

:

https://developer.xamarin.com/samples/monodroid/RemoteNotifications/ :

여기 https://developer.xamarin.com/guides/android/application_fundamentals/notifications/remote-notifications-with-gcm/

위의 문서에 대한 샘플입니다 : 이 당신은 자 마린 공식 문서 Xamarin Google Cloud Messaging를 읽을 수 내 JSON

{ 
"message": "test", 
"vibrate": 1, 
"sound": 1 
} 
+0

안녕하세요. GCM 대신 FCM을 사용해보고 문제가 계속 발생하는지 확인해주세요. –

+0

안녕하세요. @AL. 나는 날카로운 응용 프로그램이 FCM에서 작동 할 것이라고 생각하지 않습니다. 그래서 지금은 GCM이 붙어 있습니다. 이 방법이 호출되지 않는 이유를 알고 있습니까? 이전에 GCM 알림을 사용 했습니까? 그렇다면 예를 보여줄 수 있습니까? 감사. –

+0

매니페스트에 등록을 추가해 보셨습니까? RECEIVE 작업 태그 바로 아래에 다음을 추가하십시오. '' – ADimaano

답변

0

입니다

또한 기기에서 Google Play Services을 사용할 수 있는지 확인하십시오.

업데이트 :

이 같은 서비스 속성을 추가 해보세요 :

[Service(Exported = false), IntentFilter(new[] { "com.google.android.c2dm.intent.RECEIVE" })] 
public class MyGcmListenerService : GcmListenerService 
{ 
    ... 
} 
+0

@ york-shen-msft 안녕하세요! 물론 위의 예를 시도했지만 물론 Google Play 서비스를 사용할 수 있습니다. 그렇지 않으면 내 기기가 알림을 수신하기 위해 등록되지 않습니다. 토큰 새로 고침조차도 서버에서 볼 수 있기 때문에 작동합니다. 알림 수신을위한 코드를 어디에 표시할지 정답을 편집합니다. 한번보십시오. –

+0

@IdevDev, 대답을 업데이트했습니다. 확인하십시오. –

+0

@ york-shen-msft 물론 나는 그것을 이미 가지고있었습니다. 나는 아주 조심스럽게 Google 지침을 따라 갔다. 나는 어떤 단계도 놓치지 않았다. OnMessageReceived 메소드는 전혀 호출되지 않습니다. 아마도 페이로드와 관련이 있을지 모릅니다. 서버에서 보내는 json을 보여 드리겠습니다. 도와 주셔서 감사합니다. –

관련 문제