آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ارسال push از طریق وب (حل شد)

javac  8 سال پیش  8 سال پیش
0 0

برای ارسال push notification از طریق PHP از سایت parse چیکار باید کرد؟

از طریق کد زیر ارسال میشه و حتی وقتی توی پنل پارس هم چک میکنم تو لیست پیام های ارسالی موجود هست اما در گوشی پیام دریافت نمیشه!

     public function sendPush(){
        $url = 'https://api.parse.com/1/push';
        $data = array(
            'channel' => '',
            'type' => 'android',
            'expiry' => 1451606400,
            'data' => array(
                'alert' => "helllllllooooooo",
            ),
        );
        $_data = json_encode($data);
        $headers = array(
            "X-Parse-Application-Id: $applicationId",
            "X-Parse-REST-API-Key: $restApiKey",
            'Content-Type: application/json',
            'Content-Length: ' . strlen($_data),
        );

        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($curl);
        echo $response;
    }

یک نکته ای هم که هست ، وقتی پیام از طریق پنل پارس ارسال میشه پیام در گوشی دریافت میشه ، اما بنظر میرسه در شیوه ارسال تفاوت هایی هست طبق این تصویر:
اونهایی که آیکون موبایل دارن از طریف کد بالا ارسال شده که در قسمت push sent توسط هیچ کس دریافت نشده
اما اونهایی که شکل بوق هست از طریق پنل پارس ارسال شده و دریافت شده

+1 0
جالبه که target ها هم متفاوته من باهاش کار نکردم تاحالا ولی به تارگت ها یک توجهی بکن شاید کارت راه بیوفته (8 سال پیش)
0 0
آره target ها هم متفاوته ، اونایی که از طریق وبسرویس RestFul ارسال میشن تارگتشون channal هست ، اگر بشه target رو به everyone تغییر داد باید حل بشه قاعدتا ، توی documentation پارس هم چیزی پیدا نکردم (8 سال پیش)
+1 0
باید چک کنی ببینی چه داده ای داره میره جای تارگت میشینه توی کدی ک داری میگذاری قسمت chanel رو خالی میفرستی علتش چیه؟ توش everyone نمیشه گذاشت؟ (8 سال پیش)
+1 0
X-Parse-Application-Id: $applicationId یا این قسمت ؟! (8 سال پیش)
+2 0
از این کد حقیقتا هیچ چیز بیشتری متوجه نمیشم :| امیدوارم تونسته باشم کمکت کنم :) D: (8 سال پیش)
0 0
ممنون لطف کردید :) (8 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
javac  8 سال پیش
+1 0

با اضافه کردن where حل شد

 public function sendPush(){
        $url = 'https://api.parse.com/1/push';
        $data = array(
            'channal' => '{}',
            'where' => '{}',
            'expiry' => 1451606400,
            'data' => array(
                'alert' => "sample message",
            ),
        );
        $_data = json_encode($data);
        $headers = array(
            'X-Parse-Application-Id: here is for applicationID',
            'X-Parse-REST-API-Key: here is for RESTFul_api',
            'Content-Type: application/json',
            'Content-Length: ' . strlen($_data),
        );

        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $_data);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $response = curl_exec($curl);
        echo $response;
    }

 

+1 0
ایول! خوشحالم ک به جواب رسیدی ! میدونستم میتونم کمک کنم :) ههه (8 سال پیش)
0 0
من لایکو خیلی دوست دارم :) D: (8 سال پیش)
0 0
بدون کمک های شما نمیشد واقعا تشکر فراوان :)) (8 سال پیش)
+2 0
دوست ها برای همین روزا هستند داداش :) ان شاءالله ک همیشه بتونیم مشکل گشا باشیم البته اینا همش شوخی بود وگرنه درحقیقت خود شما بودید ک مشکل رو متوجه شدید امیدوارم موفق و موید باشید یاعلی (8 سال پیش)
0 0
خواهش میکنم دوست من انشالله.... (8 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .