私はアンドロイドとiOSの両方に対してxamarinフォームアプリケーションを開発しています。私はParse SDKを使用して同じもののPushNotificationsを実装しています。私は.DroidプロジェクトとParse.iOS dllの参考文献にParse.Android dllを追加しました。私の問題は時々Androidにあります。私はDeviceTokenを取得できません。パースインストールクラスにDeviceTokenとpushtypeのエントリはありません。値は 'undefined'です。以下は私のコードとマニフェストです。Xamarin formsアンドロイドアプリケーションがDeviceToken解析SDKを取得しない
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
3210は、初期化に必要な解析キーを渡しているMainActivityの 'OnCreate'メソッドの最初の行です。
LoadApplication (new App())
が呼び出された後、私はRegisterForPushNotificationsメソッドを呼び出しています。
以下に、パースインストールクラスのスクリーンショットを示します。
が私のコードでは、いくつかの問題ですか、それはパースSDKの問題である場合は私に知らせてください。
あなたはエミュレータで動作していないと思いますか?デバイスは、物理デバイス内のトークンのみを受信します。 –
@iván-oliver上記の問題は物理デバイス上にあります。 – Amrut
時々あなたはどういう意味ですか?同じデバイスですか? –