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

لطفا کمی توضیح درباره parse

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

من تونستم پارس 1.3.0 و نیز پارس 1.3.9 در اپلیکشنم قرار بدم اما هنگامی که پیامی می فرستم نمی تونم لینکی رو همراهش بفرستم تا کاربر با زدن پیغام به اون لینک هدایت بشه.

از کد های زیر هم استفاده کردم اما نشند که نشد.

از ورژن ها بالاتر هم نمیشه استفاده کرد چون با ایکلیپسی که استاد گذاشته مشکل داره

لطفا راهنمای بفرمایید چه کنم

{"alert":"App Summary",
"title":"App Name",
"uri":"bazaar://details?id=com.example.name"}
 {"alert":"Website Summary",
"title":"Site/Title Name",
"uri":"http://cafebazaar.ir"}


نظرات

irwonders 10 سال پیش
جایی که این کد رو قرار میدین برای ارسال (قسمت send push)، اونجایی که متن رو مینویسی، زیرش یک گزینه هست که میتونی فرمت رو بین text و json تغییر بدی، باید بذاری روی json که این کد عمل کنه دوست عزیز. هیچ مشکلی نداره. موفق باشید :)

پاسخ‌ها 6

kazem3300 10 سال پیش

این کار رو انجام میدم ولی درست نمی شه .

اساتید کسی می دونه ورژن 1.3.0 پارس این قابلیت توش هست که لینک رو بگیره ونمایش بده؟؟؟؟

نظرات

maysammortazi 10 سال پیش
بله این قابلیت رو داره الان پیدا میکنم برات میذارم
kazem3300 10 سال پیش

up

 

نظرات

kazem3300 10 سال پیش

up

نظرات

kazem3300 10 سال پیش

up

نظرات

maysammortazi 10 سال پیش

ابتدا اینارو به manifest اضافه کن.

در قسمت uses-permission این کد ها

<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permissionandroid:name="android.permission.VIBRATE"/>
<uses-permissionandroid:name="android.permission.WAKE_LOCK"/>
<uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/>
<uses-permissionandroid:name="com.google.android.c2dm.permission.RECEIVE"/>

<permissionandroid:name="نام پکیج برنامه.permission.C2D_MESSAGE"android:protectionLevel="signature"/>
<uses-permissionandroid:name="نام پکیج پروژه .permission.C2D_MESSAGE"/>

در تگ application هم این کد ها رو وارد کنید.

<serviceandroid:name="com.parse.PushService"/>
<receiverandroid:name="com.parse.ParseBroadcastReceiver">
<actionandroid:name="android.intent.action.BOOT_COMPLETED"/>
<actionandroid:name="android.intent.action.USER_PRESENT"/>


<receiverandroid:name="com.parse.GcmBroadcastReceiver"android:permission="com.google.android.c2dm.permission.SEND">

<actionandroid:name="com.google.android.c2dm.intent.RECEIVE"/>
<actionandroid:name="com.google.android.c2dm.intent.REGISTRATION"/>

<categoryandroid:name="نام پکیج برنامه"/>

حالا یک فایل java  بسازید و اسمش رو بزارید ParseApplication  و extends کنید به Application  و این کد ها رو بریزید داخلش

@Override
public void onCreate() {
super.onCreate();
Parse.initialize(this, "", "");// کد ها رواز سایت پارس گرفته و بریزین داخل آن ها
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
PushService.setDefaultPushCallback(this, MainActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();
}

این کد رو هم داخل تگ application  در manifest در خط اول ان باشد.

 android:name="نام پکیج خود .ParseApplication"

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

این کد رو تو MainActivity که بالا اشاره کردم بذارین البته ابتدای همون oncreate بعد از اینکه layout رو دادین به محض اینکه پوش کلیک شد و این اکتیویتی اجرا شد میره به لینکی که میخوایین اگه میخواین وقتی back زدین برنگردین به داخل برنامه تون تهش یه

finish() 

هم اضافه کنین

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());
}
}

نظرات

علی 10 سال پیش
میثم جان این خط کد ایرادی داره که برای من نمیشناسه؟ PushService.setDefaultPushCallback(this, MainActivity.class);
maysammortazi 10 سال پیش
چه خطایی میده؟ دقت کنین که بجای MainActivity با اسم اکتیویتی main خودتون رو بذارید
kazem3300 10 سال پیش

مرسی امتحان کردم درست بود.خدا خیریت بده

 

نظرات


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