0

私たちのiOSアプリはプッシュ通知を受け取る必要があります。PHP:Appleデバイスにプッシュ通知を送信する方法

didRegisterForRemoteNotificationsWithDeviceToken

didFailToRegisterForRemoteNotificationsWithError

didFinishLaunchingWithOptionsによって呼び出されると、デバイスが正しくごMySQLサービスに登録されているものと思われます。私は、アプリケーションデリゲートにこれらのメソッドを実装しthisチュートリアルの後。さらに、私はテスト用に使用する砂のサンドボックス認証を作成しました。今、私はPHPでバックエンドで何をすべきかを知る必要があります。どのコードが必要ですか?私はZendフレームワークを使用していますので、私のマッパーでfunction preparetosend_apple()を実装し、私たちのコントローラーでsendtoappleAction()を実装する必要がありますが、どこから始め、どのようにテストするのかはわかりません。ありがとうございました!

+1

http://framework.zend.com/manual/1.12/ja/zend.mobile.push.apns.html –

+0

ありがとう、私は一度見てみましょう! –

答えて

0

最初にアプリケーションから直接プッシュ通知を送信することは、この呼び出しがブロックする可能性があるため(コードブロックの残りの部分がその完了を待つことを意味する)、良い考えではありません。ですから、バックグラウンドプロセッサ/メッセージキューイングサービス(ギアマン、ゼロmqなど)を使うことをお勧めします。

次に最も簡単な解決策は、Parseのようなサービスを使用します。 Parseはあなたが言及した証明書を使ってアプリケーションを登録することを可能にし、php(コンポーザベース)のSDKを持っています。

バックグラウンドサービスでは、SDKからAPIを呼び出すだけです。以下のような:チャネルを使用して

use Parse\ParseClient; 
use Parse\ParseInstallation; 
use Parse\ParsePush; 

ParseClient::initialize($appId, $restKey, $masterKey, $curlDebug); 
... 
... 
... 

解析

$response = ParsePush::send(array(
          "channels" => ["channel-$userId"], 
          "data"  => $data, 
          )); 

ORカスタムクエリ

$query = ParseInstallation::query(); 
$query->equalTo('userId', "user-$userId"); 

$response = ParsePush::send(array(
          "where" => $query, 
          "data" => $data, 
          )); 

解析を使用しての最良の部分を使用して - ブロードキャストメッセージ - 私のような他の興味深い機能を使用して言うだろう、デバイスのリストなど

これはあなたを助けるかもしれません。

関連する問題