بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

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

مدیریت گفتگو
javac 10 سال پیش
آخرین تغییر: 10 سال پیش

برای ارسال 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 توسط هیچ کس دریافت نشده
اما اونهایی که شکل بوق هست از طریق پنل پارس ارسال شده و دریافت شده

نظرات

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

پاسخ‌ها 1

javac 10 سال پیش

با اضافه کردن 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;
    }

 

نظرات

محمد 10 سال پیش
ایول! خوشحالم ک به جواب رسیدی ! میدونستم میتونم کمک کنم :) ههه
محمد 10 سال پیش
من لایکو خیلی دوست دارم :) D:
javac 10 سال پیش
بدون کمک های شما نمیشد واقعا تشکر فراوان :))
محمد 10 سال پیش
دوست ها برای همین روزا هستند داداش :) ان شاءالله ک همیشه بتونیم مشکل گشا باشیم البته اینا همش شوخی بود وگرنه درحقیقت خود شما بودید ک مشکل رو متوجه شدید امیدوارم موفق و موید باشید یاعلی
javac 10 سال پیش
خواهش میکنم دوست من انشالله....

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