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

مشکل در نوتیفیکشن پارس (حل شد) +(اموزش کامل شد)

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

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

که دوباره شما به مشکل برنخورید و وقت شما از بین بره ....


 

در پایین اموزش قرار گرفته

باتشکر از شما 

سید حامد حسینی

نظرات

android 11 سال پیش
دوستان کسی نیست جواب بده؟
android 11 سال پیش
تو خط چی دوست من؟
android 11 سال پیش
دوست من اسم پکیج برنامم همین هست. com.example.test
فرزاد سیدی 11 سال پیش
اگه با ایکلیپس استاد این کار رو میکنی باید بگم که من هر چی تلاش کردم با این ایکلیپس جز کرش کردن نتیجه ای نداشتم و هر جاش رو حل میکردم یه جای دیگه کرش میکرد حتی با کتابخانه های قدیمی بالاخره راه انداختم اما بازم یه جای دیگه کرش کرد و یه ایکلیپس دیگه نصب کردم و بدون دردسر در عرض 5 دقیقه راهش انداختم بدون هیچ اروری...
android 11 سال پیش
شاید از اکلیپس باشه شاید هم از کتابخونه هاش. نوتیفیکشن برام میاد ولی هر کار میکنم بره به یه لینکی نمیره کد های json هم درست هست نمیدونم دیگه چه کارش کنم .
فرزاد سیدی 11 سال پیش
خودتو اذیت نکن که با این ایکلیپس نمیره توی لینک فقط کرش...
android 11 سال پیش
دوست من مشکل از اکلیپس نبود باید ما کلاس اصلی رو در کلاس push خود صدا میزدیم تا درست میشد.

پاسخ‌ها 8

MobinTeb 11 سال پیش

به اخطار ها توجه کن:

<!--
	  IMPORTANT: Change "com.example.test.permission.C2D_MESSAGE" in the lines below
	  to match your app's package name + ".permission.C2D_MESSAGE".
	-->
این میگه که به جای عبارت
com.example.test
اسم پکیج برنامه ات رو بنویس

<!-- IMPORTANT: Change "com.example.test" to match your app's package name. -->
و اینم همینو میگه 
 
 

 

نظرات

android 11 سال پیش

دوست من اسم پکیج برنامم همین هست com.example.test من  با ابزار find  در  replaceall     manifest کردم.

نظرات

android 11 سال پیش
دوستان کسی نیست جواب من رو بده
Psycho 11 سال پیش
اینو ببین ، همه مشکلاتت برطرف میشه لینک
android 11 سال پیش
من کاربر اصلی این سایت نیستم که بتونم تگ های قرمز رو ببینم.
android 11 سال پیش

از دوستانی که وقت گذاشتن برای حل این مشکل ممنون میشم.

خودم حلش کردم

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

نظرات

android 11 سال پیش

سلام من مشکل رو حل کردم میخوام به دوستان هم بگم از چه روشی برن جلو واستفاده کنند.

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

دوم اینکه شما باید این کتابخونه ها رو دانلود کنید تا بعد بگم چه کار کنید.http://s3.picofile.com/file/8206729126/lib.zip.html

سوم اینکه شما  این فایل ها رو که دانلود کردین از حالت zip خارجش کنید و کل محتوای پوشه رو کپی میکنید داخل پوشه libs پروژه. تاکید میکنم باید کپی کنید.

چهارم حالا نوبت به وارد کردن فایل parse-1.3.jar به پروژه هست برای وارد کردن هم از روش add external jar باید برین جلو برای این روش هم برای تازه کار ها توضیح میدم اول روی پروژه خود کلیک راست کرده و بر روی properties کلیک کرده و در سمت چپ صفحه بر روی java build path و حالا بر روی add external jar کلیک کرده فایل رو وارد کرده و در اخر بر روی ok کلیک کنید.

 

و در صورتی که از اندروید استدیو استفاده میکنید در قسمت build gradle و در تگ dependencies این کد ها را اضافه کنید تا کتابخانه به برنامه اضافه شود.

 

 compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.+'

 

و در اخر بر روی sync now کلیک کنید و حتما به اینترنت متصل باشید.

 

پنجم حالا برین داخل فایل manifest و این کد ها رو اضافه میکنید.

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

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

<!--
  IMPORTANT: If you change the package name of this sample app, change
  "com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" in the
  lines below to match the new package name.
-->
<permission
    android:name="نام پکیج برنامه.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

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

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

        <service android:name="com.parse.PushService" />
        <receiver android:name="com.parse.ParsePushBroadcastReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.DELETE" />
                <action android:name="com.parse.push.intent.OPEN" />
            </intent-filter>
        </receiver>

        <receiver android:name="com.parse.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <!--
                  IMPORTANT: Change "com.parse.starter" to match your app's package name.
                -->
                <category android:name="نام پکیج برنامه" />
            </intent-filter>
        </receiver>
    
        

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

 @Override
	public void onCreate() {
		super.onCreate();

	   Parse.initialize(this, "", "");
        ParseInstallation.getCurrentInstallation().saveInBackground();
	}

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

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

خوب حالا برین داخل سایت parse  ویه app جدید بسازید.

برای اولین بار باید شما پروژه رو بر روی یه گوشی اجرا کنید که در سیستم پارس ثبت شود و بعد بتوانید push  بفرستین .

تا اینجا فکر کنم بس دیگه باشه.

اگر خوشتون اومد تا بقیش رو هم بزارم.

نظرات

android 11 سال پیش
کسی نمیخواد دیگه بقیه اموزش ها رو بگم.
nmotaghed 11 سال پیش
بفرما مهندس ممنون از آموزشتون
فرزاد سیدی 11 سال پیش
از کتابخونه های قدیمی پارس استفاده کردی توی ایکلیپس استاد؟
android 11 سال پیش
اره 1.3 استفاده کردم.
وحید 11 سال پیش
داداش لطفا کتابخونت رو آپلود کن و لینکش رو بذار ممنون.
ghasemhajizade 11 سال پیش
ادامه به داداش منم موافقم
وحید 11 سال پیش
مگه بقیه داره عزیز؟ همین کافی نبوده؟
android 11 سال پیش
بقیش امشب قرار میگیره.کار مهم رو انجام دادیم فقط مونده باز کردن لینک در برنامه همین.
android 11 سال پیش

 

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

اول از همه یه کلاس درست میکنید به اسم PushBroadcastReceiver و extends میکنید به ParsePushBroadcastReceiver و این کد ها رو میریزین داخلش 

 

 import android.app.Activity;
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.IBinder;

import com.parse.ParsePushBroadcastReceiver;

import org.json.JSONException;
import org.json.JSONObject;

/**
 * Created by hamed on 10/7/2013.
 */
public class PushBroadcastReceiver extends ParsePushBroadcastReceiver {
String url;

    @Override
    protected Class<? extends Activity> getActivity(Context context, Intent intent) {
        return super.getActivity(context, intent);
    }

    @Override
    protected Bitmap getLargeIcon(Context context, Intent intent) {
        return super.getLargeIcon(context, intent);
    }

    @Override
    protected Notification getNotification(Context context, Intent intent) {
        return super.getNotification(context, intent);
    }

    @Override
    protected int getSmallIconId(Context context, Intent intent) {
        return super.getSmallIconId(context, intent);
    }

    @Override
    protected void onPushDismiss(Context context, Intent intent) {
        super.onPushDismiss(context, intent);
    }

    @Override
    protected void onPushOpen(Context context, Intent intent) {
        super.onPushOpen(context, intent);
    }

    @Override
    protected void onPushReceive(Context context, Intent intent) {
        super.onPushReceive(context, intent);


    }

    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);

        if (intent != null && intent.hasExtra("com.parse.Data")) {
            try {
                JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));
                url = json.getString("uri");
                Intent i = new Intent(Intent.ACTION_VIEW);
                i.setData(Uri.parse(url));
              context.getApplicationContext().startActivity(i);
            } catch (JSONException e) {
            }
        }

        }
    }

ودر اخر در وارد سایت parse شوید ود در قسمت push ها بر روی send push کلیک کنید و در قسمت Write Your Message پیام خود را بنویسید در صورتی که میخواهید json ارسال کنید دکمه Message Type را بر روی json قرار دهید.

مثلا میخواهید وقتی کاربر بر روی پوش کلیک کرد link  برنامه کافه بازار باز بشه.

از این کد ها json استفاده میکنیم

 

 { 
  "alert": "test", 
  "titel": "link", 
  "uri": "https://cafebazaar.ir/app/ir.yadsaz.jadvalfaen/?l=fa" 
}

 

نظرات

android 10 سال پیش
اموزش کامل شد.
وحید 11 سال پیش

دو تا سوال :

مگه نمی شه با خود ارسال پیغام جیسون از طرف پارس وارد بازار شد که شما کد جدا نوشتید؟

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

مال شما :

Parse.initialize(this,"","");// کد ها رواز سایت پارس گرفته و بریزین داخل آن ها
P
arseUser.enableAutomaticUser();
ParseACL
defaultACL =newParseACL(); defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL,true);
PushService
.setDefaultPushCallback(this,MainActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();

مال من :

 
Parse.initialize(this, "", "");
ParseInstallation.getCurrentInstallation().saveInBackground();

 

نظرات

android 11 سال پیش

 //این که برای کد دهی اولیه برای سیستم پارس هست
		Parse.initialize(this, "", "");// کد ها رواز سایت پارس گرفته و بریزین داخل آن ها
		//این کد وقتی برنامه برای اولین بار اجرا بشه در سیستم پارس فعال میشه 
		ParseUser.enableAutomaticUser();
	// اینم برای شخصی سازی بیشتر مورد استفاده قرار میگیرد 
		ParseACL defaultACL = new ParseACL();
		defaultACL.setPublicReadAccess(true);
		ParseACL.setDefaultACL(defaultACL, true);
		// اینم برای اجرا کردن  کد های در پس زمینه صفحه مورد نظر  
		PushService.setDefaultPushCallback(this, MainActivity.class);
		ParseInstallation.getCurrentInstallation().saveInBackground();

در صورت خواستن تا منبع اموزشی رو هم بگم.

 

 

نظرات

android 11 سال پیش
ببخشید که دیر جواب دادم
nmotaghed 11 سال پیش
سلام دوستان ممنون از توضیحاتتون من با راهنمایی شما تونستم نوتیفیکیشن ارسال کنم و با کلیک روی اون سایت مورد نظرم باز میشه . حالا اگر بخوام با کلیک روی نوتیفیکیشن یه متن رو نمایش بده چکار باید بکنم؟
ghasemhajizade 11 سال پیش
سورس کامل بزارید ممنون خیلی لازممممممم
android 11 سال پیش
nmotaghed سلام این متن از سرور ارسال میشه یا در خود برنامه هست این ؟
android 11 سال پیش
ghasemhajizade سلام باشه حتما قرار میدم.
وحید 11 سال پیش
راستی اگر ما بخوایم یک متن رو از طرف پارس بفرستیم که شامل توضیحاتی در رابطه با برنامه یا ... بشه باید چیکار کنیم؟ متن رو دریافت کنیم و در یک اکتیویتی جدید نمایش بدیم.
ghasemhajizade 11 سال پیش
ممنون بابت اموزش هنوز من منتظر سورس کامل هستم ممنون
android 11 سال پیش
Rooh سلام من تا حالا این کار رو نکردم ولی اینایی که می بینینی این کار رو انجام میدن از سرور های اختصاصی خود هست. ولی من امتحان میکنم اگر شد این کار رو انجام بدی داخل پوست ها اموزشش رو میزارم.
nmotaghed 11 سال پیش
ممنون pchamde اما توی اون سایتی که معرفی کردی ایشون خودشون uri ... title ... رو داخل اکتیویتی نمایش داده بودن.
android 11 سال پیش

سلام اینم برای دوستانی که میخواستن نمونه پروژه بزارم اینم نمونش 

http://s3.picofile.com/file/8209331992/ParseStarterProject.zip.html

 

نظرات


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