-
Notifications
You must be signed in to change notification settings - Fork 2
/
mobile-app.ar.md
183 lines (132 loc) · 6.52 KB
/
mobile-app.ar.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
## تطبيق الهاتف المحمول (Flutter)
<a href="./mobile-app.md">
<img alt="Translation" src="https://img.shields.io/badge/Bahasa_Indonesia-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.en.md">
<img alt="Translation" src="https://img.shields.io/badge/English-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.zh-CN.md">
<img alt="Translation" src="https://img.shields.io/badge/简体中文-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.ja.md">
<img alt="Translation" src="https://img.shields.io/badge/日本語-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.ar.md">
<img alt="Translation" src="https://img.shields.io/badge/Arabic_عربي-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.pt.md">
<img alt="Translation" src="https://img.shields.io/badge/Português-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.es.md">
<img alt="Translation" src="https://img.shields.io/badge/Español-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.fr.md">
<img alt="Translation" src="https://img.shields.io/badge/Français-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.vi.md">
<img alt="Translation" src="https://img.shields.io/badge/Tiếng_Việt-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
<a href="./mobile-app.hi.md">
<img alt="Translation" src="https://img.shields.io/badge/Hindi_हिंदी-blue?style=for-the-badge&logo=googletranslate&logoColor=blue&labelColor=white">
</a>
### متطلبات النظام
تأكد من أن نظامك يلبي المتطلبات التالية قبل بدء التثبيت:
- Flutter SDK v3.16 أو أعلى
### خطوات التثبيت
1. استنساخ/استخراج المستودع
2. تثبيت التبعيات:
```bash
flutter pub get
```
3. يجري`build_runner`لإنشاء الملفات`*.g.dart`
```bash
dart run build_runner build
```
#### بيئة الإعداد
1. إعادة تسمية`.env.example`ل`.env`
2. يعدل أو يكيف`API_BASE_URL`من الملفات`.env`
#### مفتاح عميل Midtrans
- أكمل الخطوة السابقة في[الخدمة الخلفية - إعداد خادم midtrans ومفتاح العميل](api-service.md#setup-midtrans-server--client-key)
- ترجمة**مفتاح العميل**أعطيت`.env`
```sh
# for debug / sandbox
MIDTRANS_CLIENT_KEY_SANDBOX=SB-Mid-client-xxxx
# for release / production
MIDTRANS_CLIENT_KEY=Mid-client-xxxx
```
#### يثبت**تسجيل الدخول جوجل**معرف العميل
- أكمل الخطوة السابقة في[الخدمة الخلفية - إعداد خادم تسجيل الدخول إلى Google ومعرف العميل](api-service.md#setup-google-sign-in-server--client-id)
- ترجمة`Web Client ID`و`Server Client ID`أعطيت`.env`
```sh
# frontend google signin / web client id
GOOGLE_CLIENT_ID=xxxx.apps.googleusercontent.com
# backend / server client id
GOOGLE_SERVER_CLIENT_ID=xxxx.apps.googleusercontent.com
```
- ترجمة`Web Client ID`ال`android/app/src/main/res/values/strings.xml`
```xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="default_web_client_id">YOUR_CLIENT_ID</string>
</resources>
```
- **ذكري المظهر**معرف العميل
- افتح محطة، وانتقل إلى دليل مشروع التطبيق
- ثم انتقل إلى مجلد android
```bash
cd <path-to-project>
cd android
```
- قم بتشغيل الأمر التالي
- لنظام التشغيل Linux و MacOS
```bash
keytool -genkey -v -keystore <path-to-project>/android/app/androidkey.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyalias
```
- للنوافذ
```powershell
keytool -genkey -v -keystore <path-to-project>/android/app/androidkey.jks ^
-storetype JKS -keyalg RSA -keysize 2048 -validity 10000 ^
-alias upload
```
- :تحذير: استبدال`<path-to-project>`مع مسار دليل مشروع التطبيق.
مثال:
```bash
# linux
~/ngoding/PROJECTS/backtix/backtix_app/android/app/androidkey.jks
# windows
D:/ngoding/flutter/backtix-app/android/app/androidkey.jks
```
- سيُطلب منك إدخال كلمة مرور، على سبيل المثال`backtix`
- الملفات المفتوحة`android/app/build.gradle`ثم قم بتغيير هذا الجزء:
```gradle
signingConfigs {
debug {
keyAlias 'keyalias'
keyPassword <your-password> // sesuaikan dengan password dari langkah sebelumnya
storeFile file('androidkey.jks')
storePassword <your-password> // sesuaikan dengan password dari langkah sebelumnya
}
}
```
- افتح المحطة، انتقل إلى المجلد`android`في مشروع التطبيق، ثم قم بتشغيل الأمر التالي:
```bash
./gradlew signingReport
```
- بحث ونسخ القيم`SHA1`من`variant: debug`الاعلى.
![Terminal](/assets/Screenshot_5.png)
- اذهب إلى[جوجل السحابية وحدة التحكم](https://console.cloud.google.com)
![Cloud Console](/assets/Screenshot_2.png)
- يختار`Credentials`في الشريط الجانبي الأيسر، انقر فوق`CREATE CREDENTIALS`، يختار`OAuth client ID`
- يختار`Android`نوع التطبيق
- أعطها اسما، و`Package name`. يمكن معرفة اسم الحزمة من الملف`android/app/build.gradle`
```gradle
android {
namespace "com.example.backtix_app"
compileSdkVersion 34
ndkVersion flutter.ndkVersion
...
}
```
![Cloud Console](/assets/Screenshot_6.png)
- إذا كنت تريد تغيير اسم الحزمة، يمكنك استخدام[Change_app_package_name](https://pub.dev/packages/change_app_package_name)
- يدخل`SHA1`من الخطوة السابقة ثم حفظ/إنشاء