2

Urban Airship を介してプッシュ通知、バッジ、およびサウンドを使用して、Titanium Studio で作成された iOS アプリがあります。私の最後のアップデートの後、アップグレードした人々は通知センターに問題を抱えています. 最初はアプリがまだ通知センターに表示されていますが、通常はアプリ名の下に表示される「バッジ、サウンド、バナー」が消えてしまいました。通知センターでアプリの設定に入ると、これらのことを変更するオプションは単にそこにありません. もちろん、プッシュ通知もこの時点では機能しません。

これで、電話を再起動するか、アプリを再インストールすると、通知センターのプログラム エントリが完全に消えます。アプリを再インストールして電話を再起動すると、通知センターのエントリが再び表示され、プッシュが再び機能することがわかりました。もちろん、これをすべてのユーザーに要求するのはばかげています。

このすべてが発生している間でも、電話から適切な APID を受信し、プッシュ メッセージは正しく送信されていると主張しています。電話はそれらを表示しません。

1回の新規インストールで、すべてがすぐにうまく機能することを試しました。

私はこれでどこに行くべきか完全に困惑しています。助言がありますか?

編集 1: コードの関連セクションは次のとおりです。以前のバージョンから 1 行だけ変更しただけで、以前のバージョンから変更する唯一のコード行が示されています。

var Urbanairship = require("com.0x82.urbanairship");
Urbanairship.options = {
  APP_STORE_OR_AD_HOC_BUILD: true, 
  DEVELOPMENT_APP_KEY: "xxx",
  DEVELOPMENT_APP_SECRET: "xxx",
  PRODUCTION_APP_KEY: "yyy",
  PRODUCTION_APP_SECRET: "yyy",
  LOGGING_ENABLED: true,
  LOG_LEVEL: 5
};

  Ti.Network.registerForPushNotifications({
  types: [
    Ti.Network.NOTIFICATION_TYPE_BADGE,
    Ti.Network.NOTIFICATION_TYPE_ALERT,
    Ti.Network.NOTIFICATION_TYPE_SOUND
  ],
  success: function(e){

    var token = e.deviceToken;
    Urbanairship.autoBadge = true;
    Urbanairship.pushEnabled = true; //Added this line, only line to change
    Urbanairship.registerDevice(token);
    userData.pushID = token; //save pushid
    Ti.App.Properties.setString('userData', JSON.stringify(userData));
  },
  error: function(e){
    alert("The Push Servers appears to be down. Please restart the app and try again");
    if(DEBUG == true){Ti.API.debug("Apple Push Error: "+e.error)}
  },
  callback: function(e){
  pushReceived(e.data.type);
  }
})
4

1 に答える 1

0

通知設定が消えた場合、コードの問題である可能性は低いです。コードは通知を要求することしかできず、設定を完全に変更することはできません。

プッシュが有効になっていない古いプロビジョニング プロファイルを使用して更新がビルドされた可能性があります。プロファイルで「aps-environment」フラグが見つからず、アプリが登録しようとすると、xcode コンソールに次のエラーが表示されます: https://support.urbanairship.com/customer/portal/articles/60710- can-t-get-a-device-token-%22no-valid-aps-environment-entitlement-%22-seen-in-console

これが問題である場合は、安全のために xcode インストールから既存のプロビジョニング プロファイルを削除してから、ポータルからプロビジョニング プロファイルを変更して再ダウンロードし、アプリを再ビルドして再送信することができます。

于 2013-03-29T20:30:54.957 に答える