Persian Software Engineers – Telegram
Persian Software Engineers
1.9K subscribers
353 photos
14 videos
84 files
303 links
تجربیات شخصی یک مهندس نرم افزار در آلمان‌.
کانال یوتیوب:
https://www.youtube.com/@Dev_Germany
ادمین کانال :
@mohamad_germany
Download Telegram
#استخدام سلام دوستان این کار به تیم ما پیشنهاد شد و ما هم برای شما قرار میدیم تا انشا... به درد دوستان بخوره 😊 پخش از @androiddevelop
سلام دوستان . امیدوارم حالتان خوب باشد . محمد حسینی راد هستم و با آموزش کار با ابزار پوش نوتیفیکیشن در پارسه با شما هستم .
پوش نوتیفیکیشن چیست ؟

شاید شما هم بخواهید برای تمام کاربران نرم افزارتان یا عده ایی از آن ها پیام بفرستید . شما این کار را به راحتی با استفاده از پوش نوتیفیکیشن میتوانید انجام دهید .

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

چه چیزی را میتوانیم ارسال کنیم ؟

در سرویس پوش پارسه ما میتوانیم یک رشته ی جیسون را ارسال کنیم پس قابلیت ارسال هر رشته ایی که بخواهیم را داریم.
@androiddevelop
مثلا میتوانیم یک رشته برای عنوان پیام ، یک رشته برای توضیحات ، یک رشته برای آدرس فایل یا تصویر و … ارسال کنیم .

ما در اندروید به تمامی این اطلاعات ارسالی json دسترسی داریم .
@androiddevelop
آماده سازی سایت پارسه

ابتدا وارد سایت شوید : http://parse.com/ سپس بر روی Sign up کلیک کنید تا فرم ثبت نام باز شود .

اطلاعات مورد نیاز را وارد کنید و سپس ایمیل خود را فعال کنید . حالا با استفاده از فرم ورود میتوانید وارد حسابتان شوید .

حالا باید اطلاعات نرم افزارمان را ثبت کنیم . برای این کار بر روی Create a new App کلیک کنید .
صبر کنید تا Loading انجام شود .

حالا وارد بخش KEYS شوید تا بتوانید کلید های مربوط به نرم افزارمان را بدست بیاوریم . این کلید ها را بعدا در بخش اندروید نیاز داریم .
ما به ۲ کلید Application ID  و Client ID نیاز داریم .

خوب حالا همه چیز برای کد نویسی سمت اندروید آماده است .

آماده سازی سمت اندورید برای پوش نوتیفیکیشن

توجه کنید که پارسه ورژن های جدیدتری از کتابخانه اش ارائه داده است ولی چون این ورژن ها نیاز به کتابخانه های گوگل پلی دارد و اینجا ایران است ! خوب ما از ورژن های قدیمی استفاده میکنیم .

توصیه ما استفاده از parse-1.3.9 است .
حالا کتابخانه را به پروژه خود اضافه کنید .

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

یک کلاس به هر نامی که میخواهید بسازید . مثلا در این آموزش ما فایل G.java را میسازیم .
@androiddevelop
کد زیر را در فایل قرار دهید :
package PACKAGE NAME HERE;

import android.app.Application;
import android.content.Context;
import com.parse.Parse;
import com.parse.ParseACL;
import com.parse.ParseInstallation;
import com.parse.ParsePush;
import com.parse.ParseUser;
import com.parse.PushService;

/**
* Created by Mohammad on 10/25/2015.
* www.mhr-developer.com
*/


public class G extends Application {

public static Context context;

@Override
public void onCreate() {
super.onCreate();
Parse.initialize(this, "APPLICATION ID", "CLIENT ID");
ParseInstallation.getCurrenbtInstallation().saveInBackground();
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
PushService.setDefaultPushCallback(this, MainActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();

}

}
توجه کنید که اگر فایل شما G.java نیست ، نام کلاس را تغییر دهید .

نام PACKAGE NAME را به پکیج نیم نرم افزار تغییر دهید .

عبارات APPLICATION ID و  CLIENT ID به کلید های بدست آمده از پارسه تغییر دهید .

همان طور که میبینید بنده در بخش set default push callback عبارت MainActivity.class را وارد کردم . این کتابخانه اطلاعات بدست آمده در جیسون را به یک کلاس باید به صورت Intent ارسال کند.  من برای راحتی کار نام کلاس را ، نام کلاس اصلی برنامه وارد کردم ولی میتوانید برای منظم شدن یک اکتیویتی جدید برای این منظور بسازید .
@androiddevelop
خوب حالا کلاس ما آماده است .

حالا باید Manifest را تغییر دهیم .

ما باید هم سرویس ها را برای نرم افزار تعریف کنیم هم اینکه دسترسی ها را فعال کنیم .

کد زیر را قبل از بستن manifest اضافه کنید ( این کد ها مربوط به دسترسی ها میباشند )
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
حالا باید سرویس ها را تعیین کنیم .

کد زیر را در پایان تگ application تعریف میکنیم .
<service android:name="com.parse.PushService"/>
<receiver android:name="com.parse.ParseBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.USER_PRESENT"/>
</intent-filter>
</receiver>
این کد ریسیور را برای دریافت اطلاعات فعال میکند .

حالا باید کلاس اپلیکیشن مان را تعریف کنیم .

کد زیر را به  عنوان صفت به <application> اضافه کنید .
android:name=".G"
Intent newiIntent = getIntent();
if (newiIntent != null && newiIntent.hasExtra("com.parse.Data")) {
try {
JSONObject json = new JSONObject(newiIntent.getExtras().getString("com.parse.Data"));
String url = json.getString("uri");
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
catch (JSONException e) {
Log.d("TAG", "JSONException: " + e.getMessage());
}
}
همان طور که میبینید هر اطلاعاتی که در JSON قرار دادیم را میتوانیم از Intent دریافت کنیم .
@androiddevelop
اما شاید بپرسید خوب عنوان و توضیحات چی شدند ؟

فایل G.java را باز کنید . همانطور که میبینید نوتیفیکیشن با استفاده از کتابخانه ساخته میشود .

در اصل ما این کار را انجام میدهیم .

زمانی که اطلاعاتی را در G دریافت کردیم آن ها را به MainActivity.class ارسال میکنیم . حالا میتوانیم در MainActivity از این اطلاعات استفاده کنیم . من به صورت پیشفرض تصور کردم که JSON ما حتما uri دارد و من این آدرس را باز میکنم . حالا میتوانستم حتی این مقدار را Toast کنم . همه چیز به ما بستگی دارد 😉

 

ارسال اولین پوش با استفاده از parse

خوب حالا در پنل مدیریت Push را انتخاب کنید .
حالا در منوی بالا سمت راست روی گزینه ی Send a push کلیک کنید .

اگر با پیام No registered devices مواجه شدید بدین معنا است که تا الان هیچ دستگاهی برای این نرم افزار ثبت نشده است . لطفا یک بار نرم افزار را در دستگاهتان اجرا کنید تا دستگاه شما Register شود .

حالا برای شما یک فرم باز میشود که شما باید در آن اطلاعات پوش تان را انتخاب کنید .

در بخش Write Your Message بهتر است یک رشته ی جیسون به شکل زیر وارد نمایید .

سپس Message Type را Json انتخاب نمایید .
#پی_دی_اف #پوش_نوتیفیکیشن #پارسه #محمد_حسینی_راد
پی دی اف آموزشی این جلسه
👇👇👇👇👇👇👇
پخش اختصاصی از کانال
@androiddevelop
#ربات
آموزش های قبلی کانال رو به صورت دسته بندی شده می تونین از طریق ربات اندرویدی ما به آدرس
https://telegram.me/androidi_bot?start
دریافت کنین.