2015-09-17 10 views
40

नहीं मिल रहा है मैं एंड्रॉइड और आईओएस दोनों के लिए एक्समरिन फॉर्म एप्लीकेशन विकसित कर रहा हूं। मैं पार्स एसडीके का उपयोग कर पुश नोटिफिकेशन को लागू कर रहा हूं। मैंने .iOS प्रोजेक्ट के संदर्भ में .seroid प्रोजेक्ट और Parse.iOS डीएल के संदर्भ में Parse.Android डीएल जोड़ा है। मेरी समस्या एंड्रॉइड पर कभी-कभी मैं डिवाइस टोकन को पुनः प्राप्त करने में सक्षम नहीं हूं। पार्स इंस्टॉलेशन क्लास में DeviceToken और pushtype के लिए कोई प्रविष्टियां नहीं हैं। यह मान 'अपरिभाषित' हैं। मैनिफेस्ट के साथ मेरा कोड नीचे है।एक्समरिन फॉर्म एंड्रॉइड एप्लिकेशन को डिवाइस टोकन पार्स एसडीके

public async void RegisterForPushNotifications() 
    { 
     try { 
      if (Utility.isNetworkConnected()) { 
       await ParsePush.SubscribeAsync (""); 
       var installation = ParseInstallation.CurrentInstallation; 
       // I'm saving the DeviceToken in App.regId for future uses 
       App.regId = System.String.IsNullOrWhiteSpace (installation.DeviceToken) ? "" : installation.DeviceToken; 
       ParsePush.ParsePushNotificationReceived += PushNotificationReceived; 
      } 
     } catch (ParseException e) { 
      System.Diagnostics.Debug.WriteLine (e.StackTrace); 
     } catch (Java.Lang.Exception e) { 
      e.PrintStackTrace(); 
     } 
    } 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.nirvaniclabs"> 
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="23" /> 
<application android:label="RxLifetime" android:icon="@drawable/icon" android:largeHeap="true"> 
    <receiver android:name="parse.ParsePushBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <category android:name="com.nirvaniclabs" /> 
     </intent-filter> 
    </receiver> 
    <service android:name="parse.ParsePushService" /> 
</application> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.LOCATION_HARDWARE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<permission android:protectionLevel="signature" android:name="com.nirvaniclabs.permission.C2D_MESSAGE" /> 
<uses-permission android:name="com.nirvaniclabs.permission.C2D_MESSAGE" /> 
</manifest> 

एप्लिकेशन स्टार्टअप पर भी उल्लेख किया कोड के ऊपर कुछ समय खड़ी कर रहा है दुर्घटनाओं। मैं इस मुद्दे here और here

इसके अलावा ParseClient.Initialize MainActivity जहाँ मैं पार्स आरंभीकरण के लिए आवश्यक कुंजी गुजर रहा हूँ की 'OnCreate' विधि का बहुत पहली पंक्ति है रिपोर्ट की है।

मैं LoadApplication (new App()) के बाद RegisterForPushNotifications विधि को कॉल कर रहा हूं।

नीचे पार्स इंस्टॉलेशन क्लास का स्क्रीनशॉट संलग्न है।

parse installation

कृपया मुझे पता है मेरे कोड में कुछ मुद्दे या यह पार्स एसडीके के साथ इस मुद्दे है अगर करते हैं।

+0

मुझे लगता है कि आप एमुलेटर में नहीं चल रहे, है ना? डिवाइस को भौतिक डिवाइस में केवल टोकन प्राप्त होता है। –

+0

@ iván-oliver उपरोक्त उल्लिखित मुद्दा भौतिक उपकरण पर है। – Amrut

+0

कभी-कभी आपका क्या मतलब है? वही डिवाइस? –

उत्तर

1

जब आपने xamarin का उपयोग करके पुश अधिसूचना घोषित की है तो आपको xamarin एंड्रॉइड और आईओएस जैसे दोनों अनुभागों पर कोड लिखना होगा, और यदि आपने रिमोट अधिसूचना के लिए उपयोग किया है तो तेज तीर को धक्का देने के लिए उपयोग करें जो पुश अधिसूचना के लिए सबसे अच्छा है और अपने ऐप को पंजीकृत करें और एंड्रॉइड और आईओएस को जीसीएम और एपीएसएन रिलीज जैसे अधिसूचना सेवा में सक्षम करें।

आपने जो इस प्रयास करें: https://github.com/rdelrosario/xamarin-plugins/tree/master/PushNotification/PushNotification

संबंधित मुद्दे