Google Cloud Messaging service -г PHP-тэй хамт ашигласан жишээ мартахаасаа өмнө тэмдэглье гэж бодлоо.
<<<<<<<<<<<<<<<< клиент арр >>>>>>>>>
1-рт
Юуны өмнө Google APIs Console хуудасруу хандаж бүртгүүлээд дараах үйлдлүүдийг хийнэ.
1. Sender ID //бүртгэл хийгдсэнээр идвэхжинэ.
2. API key //бүртгэл хийгдсэнээр идвэхжинэ.
3. Google Cloud Messaging service-г ON болгон тохируулаарай.
Google APIs Console page
2-рт GCM.jar файл нэмэх
Дээрх алхамыг хийж дууссан бол өөрийн үүсгэсэн прожект доо gcm.jar файлыг нэмнэ.
gcm.jar файл нь дараах дир-т байрлана.
YOUR_SDK_ROOT/extras/google/gcm-client/dist
3-рт Manifest файлыг засварлах
//SDK тохируулга
(GCM SDK 8-р хувилбараас эхлэн ашиглах боломжтой.)
(my_app_package-өөрийн package нэрийг оруулаарай.)
application-таг дотор доорх тохиргоог нэмээрэй.
4-рт GCMIntentService класс үүсгэх.
package my_app_package;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;
import com.google.android.gcm.GCMBaseIntentService;
public class GCMIntentService extends GCMBaseIntentService {
public GCMIntentService() {
super("SENDER_ID");
}
@Override
public void onRegistered(Context context, String registrationId) {
Log.w("registration id:", registrationId);
sendMessage("id:" + registrationId);
}
@Override
protected void onUnregistered(Context context, String registrationId) {
sendMessage("C2DM Unregistered");
}
@Override
public void onError(Context context, String errorId) {
sendMessage("err:" + errorId);
}
@Override
protected void onMessage(Context context, Intent intent) {
String str = intent.getStringExtra("message");
Log.w("message:", str);
}
}
5-рт onCreat хэсэгт доорх кодыг нэмэх
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, "SENDER_ID");
} else {
Log.v(TAG, "Already registered");
}
<<<<<<<<<<<<<<<< сервер арр >>>>>>>>>
Текст илгээх
$registration_id,
'collapse_key' => 'update',
'data.message' => $message,
);
$post = http_build_query($post_list, '&');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$ret = curl_exec($ch);
var_dump($ret);
?>