Google Playに5000ダウンロードのアプリがあります。Android GCM一部の端末が登録されていない
これらのうち、900人が自分のサーバーにGCM登録IDを保存できませんでした。
私は18%の故障率を心配しており、なぜこれが起こっているのかを調べるのに苦労しています。私のサーバーにIDを渡して保存することは間違いではないので、登録が失敗しているはずです。誰もがプロジェクトのようなものを見つけましたか?コード以下の通り:syncronizedされていない
のGoogleアカウント:
// Fired every time the app is booted in Main Activity
private void setupGCM()
{
String gcmRegId = GCMRegistrar.getRegistrationId(this);
if (gcmRegId.equals(""))
{
GCMRegistrar.register(this, AppProperties.GCM_SENDER_ID);
} else
{
// This is well tested and is not the issue
ServerUtils.sUpdatePushToken(this, gcmRegId);
}
}
// GCMIntentService Class onRegistered
@Override
protected void onRegistered(Context context, String registrationId)
{
mContext = context;
if (!registrationId.equals(""))
{
AppProperties.GCM_REGISTRATION_ID = registrationId;
new UpdateGCMRegistrationIdAsync().execute();
} else
{
GCMRegistrar.setRegisteredOnServer(context, false);
}
}
// GCMIntentService Class My Async class for updating Reg Id
private class UpdateGCMRegistrationIdAsync extends AsyncTask<Integer, Integer, Void>
{
@Override
protected Void doInBackground(Integer... params)
{
ServerUtils.sUpdatePushToken(mContext, AppProperties.GCM_REGISTRATION_ID);
return null;
}
}
。等しくない( "")。 regId.trim()。length()> 0 – drulabs
または '.isEmpty() ' – 323go
GoogleのGCMデモで.equals(" ")を使用して回答を評価してください。さらに、これは4100デバイス用で、900用ではないでしょうか? – TommyGuns21