کد درون فایل PHP خودتون رو کامنت کنین و کد زیر رو قرار بدین. (این کد کارش اینه که به محض اجرا فایل php یه فایل txt ایجاد میکنه و کنار فایلتون قرار میده این یعنی اینکه به فایل php شما درخواست ارسال میشه )
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
مشکل با سیستم crash reporter ( حل شد )
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
سلام دوستان تا حالا با ACRA کار کردین؟
طبق توضیحات خودش (http://acra.ch/) جلو رفتم...توی برنامه هم کرش بوجود میارم اما هیچی ریپورتی ارسال نمیکنه؟!
دوستان اگه تجربه کار با این سیستم ریپورت دهی رو دارن ممنون میشم راهنماییم کنن...
کلاسی که برای ارسال کرش ها معرفی کردم :
import org.acra.ACRA;
import org.acra.ReportField;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import android.app.Application;
@ReportsCrashes(formKey = "",
formUri = "http://www.xxxxxx.com/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.SILENT)
public class ReportApp extends Application {
@Override
public void onCreate() {
super.onCreate();
ACRA.init(this);
}
}
پاسخها 4
محتویات فایل 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);
?>
نظرات
$content = "Test File";
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/myReport.txt","wb");
fwrite($fp,$content);
fclose($fp);
نظرات
باز هم هیچ فایلی ایجاد نمیکنه :(
اگه فایلی ایجاد نمیکنه پس مشخصه دیگه به فایل php شما درخواست ارسال نمیشه. میتونین واسه تست به صورت میستقیم از مرورگر فایل php رو اجرا کنین ببینین که فایل تولید میشه یا نه.
با تعجب فراوان کلن با اجرای فایل php تو مرورگر هم فایلی ایجاد نمیکنه؟!!!!!
یه اتفاق دیگه افتاد...
یه مرحله رو جا انداخته بودم...بعد از تصحیح مرحله و اجرای اپ ( و تصحیح فایل به حالت اولیه) : یه فایل error_log کنار فایل php ساخت با این متن :
[02-Nov-2014 15:59:50 UTC] PHP Parse error: syntax error, unexpected T_STRING in /home/xxxxxx/public_html/report/report.php on line 2
نظرات
حل شد... ممنونم دوست عزیز...
کل کد PHP که الان قرار دادین و این ارور رو بهتون داده رو اینجا قرار بدین تا بررسی بشه.
ممنون دوست عزیز خط دوم رو کامنت نکرده بودم... یادم رفته بود...کامنتش کردم مشکل برطرف شد...و خطا هارو برام تو یه فایل تکس مینویسه... :)
بعد از کرش برنامه دیالوگ باز میشه اما چیزی به فایل php ارسال نمیشه < فایل php هم بخوبی کار میکنه <
mport org.acra.ACRA;
import org.acra.ReportField;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
@ReportsCrashes(//formKey = "",
formUri = "http://android.domain.ir/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 G extends Application {
public static Context context;
public static Activity currentactivity;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
ACRA.init(this);
}
}
این رو هم به منی فست اضاف کردم <
<activity
android:name="org.acra.CrashReportDialog"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Dialog" />
پرمیژن اینترنت هم وجود داره !
----------------------#ویرایش :
تغییرات رو بصورت زیر گذاشتم باز هم نشد !
@ReportsCrashes(//formKey = "",
formUri = "http://android.clientdomain.tinahost.ir/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.SILENT
/* resToastText = R.string.crash_toast_text,
resDialogText = R.string.crash_dialog_text,
resDialogIcon = android.R.drawable.ic_dialog_info,
resDialogTitle = R.string.crash_dialog_title,
resDialogCommentPrompt = R.string.crash_dialog_comment_prompt,
resDialogOkToast = R.string.crash_dialog_ok_toast
*/
)
public class G extends Application {
public static Context context;
public static Activity currentactivity;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
ACRA.init(this);
}
}
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات