AndroidでC2DMを実装しようとしています。 C2DM Serverに登録した後、登録コードを取得することができます。しかし、サードパーティのサーバーからメッセージを送信すると、メッセージ "メッセージ送信"とエラーコード200がログに表示されます。これは、サードパーティのサーバーがメッセージを正常に送信したことを意味します。私の問題は、私はデバイスでメッセージを受信することができないことです。AndroidでC2DMを実装する方法
0
A
答えて
0
このブログhttp://www.tomasmalmsten.com/tag/c2dm/は、アンドロイドのc2dmを稼働させるのに優れています。
0
function googleAuthenticate($username, $password, $source="Company-AppName-Version", $service="ac2dm"){
$ch = curl_init();
if(!$ch){
return false;
}
curl_setopt($ch, CURLOPT_URL, "https://www.google.com/accounts/ClientLogin");
$post_fields = "accountType=" . urlencode('HOSTED_OR_GOOGLE')
. "&Email=" . urlencode($username)
. "&Passwd=" . urlencode($password)
. "&source=" . urlencode($source)
. "&service=" . urlencode($service);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
if (strpos($response, '200 OK') === false) {
return false;
}
// find the auth code
preg_match("/(Auth=)([\w|-]+)/", $response, $matches);
if (!$matches[2]) {
return false;
}
return $matches[2];
}
// send message to android, The message size limit is 1024 bytes in android
function c2dmSendMessageToPhone($authCode, $deviceRegistrationId, $msgType, $messageText,$extraArr) {
$headers = array('Authorization: GoogleLogin auth=' . $authCode);
$data1 = array(
'registration_id' => $deviceRegistrationId,
'collapse_key' => $msgType,
'data.msg' => $messageText
);
$data2 = array();
// append 'data' string in key of the array
if(!empty($extraArr)){
foreach($extraArr as $k => $v){
$data2['data.'.$k] = $v;
unset($extraArr[$k]);
}
}
$data = array_merge($data1,$data2);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://android.apis.google.com/c2dm/send");
if ($headers)
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
0
チェックC2DM Implementation Checklist Step by Step
は、コーディングの前に1つの物事を含め、このポスト。 2 Android App(クライアント側)。 3サーバー側:get ClientLoginなど。このトピックにでチューニング4ノート
0
誰もがGoogleの変化に注意する必要があります。
C2DMが廃止されており、Google Cloud Messaging for Android (GCM)に置き換えられました。 Googleの声明:
Important: C2DM has been officially deprecated as of June 26, 2012.
This means that C2DM has stopped accepting new users and quota requests.
No new features will be added to C2DM. However, apps using C2DM will continue to work.
Existing C2DM developers are encouraged to migrate to the new version of C2DM,
called Google Cloud Messaging for Android (GCM).
See the C2DM-to-GCM Migration document for more information.
Developers must use GCM for new development.
C2DMからmigrationためdemo app tutorial for GCMもがあります。
関連する問題
- 1. C2DMをAndroidに正しく実装する方法は?
- 2. アンドロイドでC2DMを実装する方法は?
- 3. Androidでバックグラウンドタスクを実装する方法
- 4. androidでonMenuItemClickListenerを実装する方法
- 5. Androidでカスタムシェイダーを実装する方法
- 6. アンドロイドでC2DMを使用してプッシュ通知を実装する方法は?
- 7. Android - pinchを実装してrecylerviewを実装する方法
- 8. Androidライブコメントを実装する方法は?
- 9. androidのファイルアップロードプログレスバーを実装する方法
- 10. Android:テンキーパッドの実装方法
- 11. 非常に簡単な方法でAndroidのC2DMを使用する方法
- 12. Androidで反応するネイティブマップを実装する方法
- 13. PhoneGap Android C2DM BroadcastReceiverでsendJavascript()を呼び出す方法
- 14. node.jsでエクスプレスサーバなしでAndroid Deeplinkを実装する方法
- 15. AndroidスタジオでシングルトンパターンでBitmapFactoryを実装する方法は?
- 16. Androidで同じフラグメントでリレーショナルビューを実装する方法は?
- 17. AndroidのSurfaceView Cameraでシークバーでズームを実装する方法は?
- 18. Android TVでRecyclerViewでスクロールを実装する方法は?
- 19. Androidで描画アプリの消しゴムを実装する方法
- 20. Androidでポップアップを実装する方法は?
- 21. Android OpenGL ESのキューブでカラーピッキングを実装する方法
- 22. Firebase(Android)でondeleteカスケードを実装する方法
- 23. Androidのメニュー項目で動的値を実装する方法
- 24. Androidでピンチズームを実装する方法は?
- 25. AndroidでマルチレベルのExpandableListviewを実装する方法は?
- 26. AndroidでリアクションネイティブUIコンポーネントメソッドを実装する方法
- 27. AndroidでFacebookの写真のグリッドアラインメントを実装する方法
- 28. asp.net C#とAndroidでUIDAI Aadhar APIを実装する方法は?
- 29. Twitter Kit for Androidでログイン画面を実装する方法は?
- 30. AndroidアプリケーションでFacebookログインを実装する方法は?
このコードは本当に有益です。 – parmil86