PDA

View Full Version : ایجاد وب سرویس شخصی مانند پارسه



r.miri19
سه شنبه 02 تیر 1394, 23:50 عصر
سلام
من می خواستم یه متنی رو از سرور به موبایل کاربران بفرستم البته واسه هر کاربر متن فرق می کنه.که این متن هر وقت یک خبر جدید داخل دیتابیس گذاشته شد از طریق php بفرستم.

اما نمی خواهم که از طریق موبایل همش از دیتا بیس کوئری بگیرم، به سرور فشار می آید.

می خوام مثل parse هر وقت که دیتابیس تغییر کرد ، هوشمند اجرا بشه و به موبایل ها فرستاده بشه.

آیا چنین کاری می شه کرد؟

Nevercom
چهارشنبه 03 تیر 1394, 02:24 صبح
میتونید از خود پارس استفاده کنید.

هر کاربر رو هنگامی که در سیستم پارس رجیستر می کنید، یه شناسه ی منحصربفرد بهش اختصاص بدید، احتمالاً تو سیستم خودتون هر کاربر رو رجیستر می کنید، مثلاً در کد لاگین در اندروید، شناسه ی کاربر رو دریافت کنید و در سیستم پارس هم رجیستر کنید.

خود پارس این امکان رو داره که توسط REST API پیغام ها رو برای یک کاربر، و یا گروهی از کاربران بفرستید. برای PHP هم یک SDK مجزا داره.

r.miri19
چهارشنبه 03 تیر 1394, 13:29 عصر
میتونید از خود پارس استفاده کنید.

هر کاربر رو هنگامی که در سیستم پارس رجیستر می کنید، یه شناسه ی منحصربفرد بهش اختصاص بدید، احتمالاً تو سیستم خودتون هر کاربر رو رجیستر می کنید، مثلاً در کد لاگین در اندروید، شناسه ی کاربر رو دریافت کنید و در سیستم پارس هم رجیستر کنید.

خود پارس این امکان رو داره که توسط REST API پیغام ها رو برای یک کاربر، و یا گروهی از کاربران بفرستید. برای PHP هم یک SDK مجزا داره.
من توی sql هر کاربر رو از روی شماره می شناسم . چطور می تونم تو parse هم ریجستر کنم؟

Nevercom
چهارشنبه 03 تیر 1394, 16:55 عصر
تو کلاس Application وقتی کد Parse.initialize رو صدا می زنید، معمولاً بعدش از کد زیر برای ثبت دستگاه در سیستم پارس استفاده می کنید:

ParseInstallation.getCurrentInstallation().saveInB ackground();

بجای کد بالا، اول شئ ParseInstallation رو دریافت می کنیم، پارامترهای موردنیاز رو بهش اضافه می کنیم و بعد ذخیره می کنیم.


ParseInstallation installation = ParseInstallation.getCurrentInstallation();
installation.put("userId", utils.getUserId());
installation.saveInBackground();


با اینکار شما مشخصات یک کاربر (userId) رو به یک دستگاه نسبت دادید و بعد در سیستم پارس می تونید Query بزنید و پوش نوتیفیکیشن رو حتی تنها برای این کاربر/دستگاه ارسال کنید.

dalmif
چهارشنبه 03 تیر 1394, 18:10 عصر
سلام توضیح خیلی کاربردی بود دستتون درد نکنه فقط چجوری باید به پارس کوئری بزنیم؟؟:افسرده:

Nevercom
پنج شنبه 04 تیر 1394, 00:20 صبح
\Parse\ParseClient::initialize($appId, $restKey, $masterKey);


$msg = Array("title" => "Message Title",
"alert" => "Message Text\nAnother line");


$options["data"] = $msg;




$query = \Parse\ParseInstallation::query();
$query->containedIn('userId', Array('123456', '456213');
$options["where"] = $query;




$pushResponse = \Parse\ParsePush::send($options);



این نمونه کد PHP و با استفاده از Parse PHP SDK هست.

اینجا ما روی شئ ParseInstallation کوئری زدیم. این شئ مشخصات دستگاه های ثبت نام شده رو نگه داری می کنه. در واقع هر ردیف از ParseInstallation مربوط به یک دستگاه هست.
و ما در کوئری مشخص کردیم ردیف هایی که فیلد userId در اونها شامل 123456 یا 456213 هست رو نیاز داریم.

نتیجه ی کوئری رو در فیلد where از آرایه ی options ذخیره کردیم.

و در نهایت درخواست دادیم پوش نوتیفیکیشن با مشخصاتی که در آرایه ی options تعیین شده رو ارسال کن.

اگر فرض کنیم هر کاربر یک شناسه ی منحصربفرد داره که طبق توضیحات پست قبل، هنگام ثبت در فیلد userId ذخیره شده، این پیغام به ۲ کاربر با کدهای کاربری ذکر شده ارسال میشه.

aminbir
پنج شنبه 04 تیر 1394, 09:30 صبح
دوستان سیستم پارس خوبه اما مشکلی که داره اینه که نیاز به دسترسی بوت کامپلت داره که بازار به این دسترسی گیر میده
آیا راهی دیگه ای هم هست که از سیستم پارس استفاده کرد ونیاز به این دسترسی نداشته باشه؟

dalmif
پنج شنبه 04 تیر 1394, 10:54 صبح
عالی بود راهنماییتون.:لبخندساده:
فقط دوست عزیز من باید چجوری user_id هام رو بخونم یعنی وقتی کاربر ثبت بشه توی پارس یوزر آیدیش رو برای من توی پارس نشون میده؟؟

Nevercom
پنج شنبه 04 تیر 1394, 18:56 عصر
دوستان سیستم پارس خوبه اما مشکلی که داره اینه که نیاز به دسترسی بوت کامپلت داره که بازار به این دسترسی گیر میده
آیا راهی دیگه ای هم هست که از سیستم پارس استفاده کرد ونیاز به این دسترسی نداشته باشه؟
اگر بازار به موردی گیر داد، می تونید براش توضیح بدید که این دسترسی ها برای ارتباط با کاربران برنامه هست و دلیل دیگری نداره. من تا حالا سر این موضوع مشکلی نداشتم و یک بار هم که در مورد دسترسی ها سوال کردن، با توضیحاتی که دادم قانع شدند و برنامه رو منتشر کردن

عالی بود راهنماییتون.:لبخندساده:
فقط دوست عزیز من باید چجوری user_id هام رو بخونم یعنی وقتی کاربر ثبت بشه توی پارس یوزر آیدیش رو برای من توی پارس نشون میده؟؟
توضیحات من بر اساس سوال دوستمون بود که گفتن می خوان برای هر کاربر نوتیفیکیشن جدا بفرستن اما نمیخوان از سرور بخونن تا فشاری بهش نیاد.
درواقع برداشت من این بود که ایشون کاربرها رو روی سرور خودشون ثبت می کنن (چون تنها راه تفکیک کاربرها از هم این هست که هرکدوم ثبت شده باشن و شناسه ی حداگانه ای داشته باشن)

در این حالت هرموقع کاربر لاگین کرد، کد کاربریش رو به روشی که توضیح دادم به سرویس پارس ارسال می کنید.

اگر هم سروری ندارید، خود پارس میتونه یوزرها رو مدیریت کنه (ثبت نام، لاگین، تایید ایمیل) و حتی می تونید ازش بعنوان Backend هم استفاده کنید.

r.miri19
جمعه 05 تیر 1394, 15:34 عصر
اگر بازار به موردی گیر داد، می تونید براش توضیح بدید که این دسترسی ها برای ارتباط با کاربران برنامه هست و دلیل دیگری نداره. من تا حالا سر این موضوع مشکلی نداشتم و یک بار هم که در مورد دسترسی ها سوال کردن، با توضیحاتی که دادم قانع شدند و برنامه رو منتشر کردن

توضیحات من بر اساس سوال دوستمون بود که گفتن می خوان برای هر کاربر نوتیفیکیشن جدا بفرستن اما نمیخوان از سرور بخونن تا فشاری بهش نیاد.
درواقع برداشت من این بود که ایشون کاربرها رو روی سرور خودشون ثبت می کنن (چون تنها راه تفکیک کاربرها از هم این هست که هرکدوم ثبت شده باشن و شناسه ی حداگانه ای داشته باشن)

در این حالت هرموقع کاربر لاگین کرد، کد کاربریش رو به روشی که توضیح دادم به سرویس پارس ارسال می کنید.

اگر هم سروری ندارید، خود پارس میتونه یوزرها رو مدیریت کنه (ثبت نام، لاگین، تایید ایمیل) و حتی می تونید ازش بعنوان Backend هم استفاده کنید.
ممنونم که جواب دادید.تشکر
فقط می شه یه نمونه پروژه از php رو لینک بدید که sdk پارسه مربوط به php رو اضافه کرده باشه.
آخه من php زیاد بلد نیستم.قسمت اندروید درست شده اما php گیر کردم

Nevercom
جمعه 05 تیر 1394, 19:14 عصر
پروژه ای رو نمیشناسم، اما مستندات پارس خودش کامل هست: https://www.parse.com/docs/php/guide#push-notifications

dalmif
یک شنبه 07 تیر 1394, 18:12 عصر
درست میگن.
منم فقط سمت اندروید رو تونستم درست کنم.:گریه:
php رو نمیتونم پیاده سازی کنم. اگه کسی چیزی میدونه راهنمایی کنه.
ممنون