PDA

View Full Version : مشکلات انتشار برنامه و استفاده از ACR



rubiks.kde
شنبه 30 شهریور 1392, 22:55 عصر
سلام دوستان

انگار بحث اجرا نشدن برنامه خیلی مهم شده.هی پست میزنن که برنامه رو فلان جا دادیم اجرا نمیشده و ...
اومدم یه توی نت گشتم شاید توی آندورید هم یه سیستم crash reporter وجود داشته باشه که بله وجود داشت

acra

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

سایت پروژه (http://acra.ch/)
سورس پروژه (https://github.com/ACRA/acra)

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

Sync.Master
یک شنبه 31 شهریور 1392, 04:59 صبح
لینکی که دادین deprecate شده:لبخندساده:
سایت http://acra.ch/
سورس https://github.com/ACRA/acra (https://github.com/ACRA/acra)

فقط میشه سایتشو ببینید لطفا ، اون پایینش یه توضیحاتی نوشته راجب deprecate شدن ، من منظورشو متوجه نشدم ، یه ما هم بگید چی به چیه.

ویرایش :
فهمیدم قسمت مدیریت خطاها که توسط گوگل (یکی از سرویسهاش) انجام میشد deprecate شده.

مشکل در مشکل : من الان فایل جار رو گرفتم گذاشتم تو پوشه lib پروژه بعد راست کلیک روش کردم add build patch رو زدم ، ولی تو کد نویسی که گفته تو کلاس application انجام بدید ، هیچ اثری از Acra نیست؟ حتی import ها رو دستی خودم وارد کردم ولی خبری نمیشه؟ با همین روش همین الان میتونم کتابخونه سیستم عدد رو راه بندازم ولی این نمیدونم چرا نمیشه؟:افسرده:

ویرایش :
حل شد ، تو سایتش قسمت Manual include دو تا فایل هست که ما باید دومی رو دان کنیم یعنی خود فایل جار رو ، من فایل زیپ رو دان کرده بودم که توش جار بود.

ویرایش :
کسی خواست و تونست با این روش گزارش بگیره به ما هم کمک کنه ، همه کارها رو میکنم گزارشی نمیرسه.:ناراحت:
https://github.com/d-a-n/acra-mailer

rubiks.kde
یک شنبه 31 شهریور 1392, 13:31 عصر
سلام

اول یه کلاس درست کنید که از Application مشتق شده باشه و به این صورت تنظیمات رو بهش بدید.

package com.surbiks.;

import org.acra.ACRA;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import org.acra.ReportField;

import com.surbiks.tadbirenasir.R;

import android.app.Application;

@ReportsCrashes(formKey="",
formUri = "http://surbiks.ir/report/report.php",
customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT },
mode = ReportingInteractionMode.DIALOG,
resToastText = R.string.crash_toast_text, // optional, displayed as soon as the crash occurs, before collecting data which can take a few seconds
resDialogText = R.string.crash_dialog_text,
resDialogIcon = android.R.drawable.ic_dialog_info, //optional. default is a warning sign
resDialogTitle = R.string.crash_dialog_title, // optional. default is your application name
resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional. when defined, adds a user text field input with this text resource as a label
resDialogOkToast = R.string.crash_dialog_ok_toast // optional. displays a Toast message when the user accepts to send a report.
)
public class ReportApp extends Application {

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

ACRA.init(this);
}
}


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

<activity
android:name="org.acra.CrashReportDialog"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Dialog" />

و کلاس application هم توی منی فست تعریف میکنی
این خط رو به تگ Application اضافه کنید

android:name="com.surbiks.ReportApp"


اینم کد php

<?php
// Outputs all POST parameters to a text file. The file name is the date_time of the report reception
$fileName = date('Y-m-d_H-i-s').'.txt';
$file = fopen($fileName,'w') or die('Could not create report file: ' . $fileName);
foreach($_POST as $key => $value) {
$reportLine = $key." = ".$value."\n";
fwrite($file, $reportLine) or die ('Could not write to report file ' . $reportLine);
}
fclose($file);
?>

Sync.Master
یک شنبه 31 شهریور 1392, 13:55 عصر
چقدر خوبی شما :قلب: ، ممنون ، به خوبی جواب داد ، فرصت پیش بیاد جبران کنیم (میدونم باید دکمه تشکر رو بزنیم فقط خواستم نتیجه رو بگم که بقیه هم بدونن)

haniiii
جمعه 13 تیر 1393, 13:16 عصر
ممنون بابت معرفی ACRA

این ٖformKey="", دقیقا برای چی استفاده میشه ؟‌

++ این Library با نسخه های جدید اندروید هم سازگار هست (‌۴.۴ ؟ )

rubiks.kde
جمعه 13 تیر 1393, 14:19 عصر
ممنون بابت معرفی ACRA

این ٖformKey="", دقیقا برای چی استفاده میشه ؟‌

++ این Library با نسخه های جدید اندروید هم سازگار هست (‌۴.۴ ؟ )

formKey برای استفاده در google doc هست تا ریپورت ها به اونجا منتقل بشه.

بله مشکی وجود نداره

haniiii
جمعه 13 تیر 1393, 14:27 عصر
formKey برای استفاده در google doc هست تا ریپورت ها به اونجا منتقل بشه.

بله مشکی وجود نداره

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

فقط تو همین مثالی که خودتون گذاشتین ... حالت Dialog انتخاب شده ... اما یه Toast قبلش میاد ... نمیشه غیرفعالش کرد ؟

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

ویرایش : خب مثل اینکه اون user_comment هست ... CustomData چی رو میفرسته ؟

++ وقتی به اینترنت وصل نیست هم این دیالوگ باز میشه و نشون میده که فرستاده ... این قسمت چطوری کار میکنه ؟ ... وقتی به اینترنت وصل شد گزارش کرش های قبلی رو میفرسته ؟

raha_jon
جمعه 13 تیر 1393, 20:44 عصر
چقدر خوبی شما :قلب: ، ممنون ، به خوبی جواب داد ، فرصت پیش بیاد جبران کنیم (میدونم باید دکمه تشکر رو بزنیم فقط خواستم نتیجه رو بگم که بقیه هم بدونن)

اگه تونستی موفق بشی به مبتدی ها هم یاد بده ثوابه
خسته نباشید

rubiks.kde
جمعه 13 تیر 1393, 21:15 عصر
خیلی ممنون ... الان تستش کردم خیلی خوب جواب میده

فقط تو همین مثالی که خودتون گذاشتین ... حالت Dialog انتخاب شده ... اما یه Toast قبلش میاد ... نمیشه غیرفعالش کرد ؟

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

ویرایش : خب مثل اینکه اون user_comment هست ... CustomData چی رو میفرسته ؟

++ وقتی به اینترنت وصل نیست هم این دیالوگ باز میشه و نشون میده که فرستاده ... این قسمت چطوری کار میکنه ؟ ... وقتی به اینترنت وصل شد گزارش کرش های قبلی رو میفرسته ؟

toast رو نمیدونم میشه مستقیم غیرفعال کرد یا نه.
CustomData هم اطلاعاتی هست که شما خودتون از توی برنامه ارسال میکنید
گزارش ها رو زمانی که به اینترنت وصل باشه ارسال میکنه و اگه هم نباشه میمونه تا وصل بشه بعد ارسال میکنه

haniiii
جمعه 13 تیر 1393, 22:45 عصر
toast رو نمیدونم میشه مستقیم غیرفعال کرد یا نه.
CustomData هم اطلاعاتی هست که شما خودتون از توی برنامه ارسال میکنید
گزارش ها رو زمانی که به اینترنت وصل باشه ارسال میکنه و اگه هم نباشه میمونه تا وصل بشه بعد ارسال میکنه

مرسی بابت معرفیش و توضیحاتت

مثل اینکه نمیشه غیر فعال کرد

همینکه نمیتونیم اونطور که دوست داریم تغییر بدیم Library رو باعث میشه نیاز به کد زدن از صفر احساس بشه ...

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

به نظرتون timeout رو برای اینجور کارها چقدر بگیرم خوبه ؟‌

mehdilove09
شنبه 24 آبان 1393, 17:54 عصر
سایت کندو cando.asr24.ir هم سرویس گزارش خطا داره می توانید استفاده ببرید.

tux-world
شنبه 24 آبان 1393, 20:31 عصر
تو فایلی که گیت هاب بود دانلود کردم فایل جا ندیدم.

#root#
شنبه 24 آبان 1393, 20:43 عصر
تو فایلی که گیت هاب بود دانلود کردم فایل جا ندیدم.


http://search.maven.org/remotecontent?filepath=ch/acra/acra/4.5.0/acra-4.5.0.jar