این تکنیک رو شاید بلد باشید ولی محض احتیاط برای تازه کارها میزارم
ایجاد سایه زیر تولبار به کمک ویو برای تلفن های با اندروید زیر 5
https://github.com/vipulasri/Toolbar-Elevation-Pre-Lollipop
#tip #shadow #pre_lolipop
@varchar
ایجاد سایه زیر تولبار به کمک ویو برای تلفن های با اندروید زیر 5
https://github.com/vipulasri/Toolbar-Elevation-Pre-Lollipop
#tip #shadow #pre_lolipop
@varchar
GitHub
vipulasri/Toolbar-Elevation-Pre-Lollipop
Toolbar Elevation on Pre-lollipop devices. Contribute to vipulasri/Toolbar-Elevation-Pre-Lollipop development by creating an account on GitHub.
- برگشتن به اپ از یک آدرس وب خاص در مرورگر
- اضافه کردن درگاه پرداخت زرین پال به اپ
- کاربرد butterknife
- استفاده از رتروفیت
- ریز و بم کار با Gson
- ساخت فروشگاه خیلی ساده
- درست کردن ساختار mvp موقع کد نویسی
- استفاده از کاتلین
- ارسال و نمایش پوش نوتیفیکیشن کاستوم با firebase از سمت کدهای تحت وب خودمون
- استفاده از shapeshifter برای ساخت وکتورهای انیمیشنی برای دکمه ها و جاهای مختلف
و...
این مطالب هم بزودی ارسال میشه منتظر باشید دوباره برگشتم 😉😎
@varchar
- اضافه کردن درگاه پرداخت زرین پال به اپ
- کاربرد butterknife
- استفاده از رتروفیت
- ریز و بم کار با Gson
- ساخت فروشگاه خیلی ساده
- درست کردن ساختار mvp موقع کد نویسی
- استفاده از کاتلین
- ارسال و نمایش پوش نوتیفیکیشن کاستوم با firebase از سمت کدهای تحت وب خودمون
- استفاده از shapeshifter برای ساخت وکتورهای انیمیشنی برای دکمه ها و جاهای مختلف
و...
این مطالب هم بزودی ارسال میشه منتظر باشید دوباره برگشتم 😉😎
@varchar
آموزش کوتاه - بازگشت مستقیم به اپ از یک آدرس وب
http://varchar.ir/post/return-directly-to-app-from-web.html
#deeplink #redirect #tutorial
@varchar
http://varchar.ir/post/return-directly-to-app-from-web.html
#deeplink #redirect #tutorial
@varchar
روش استفاده از وکتورها به عنوان drawable right و ... که در حالت عادی کار نمیکنه
دوتا دستور تو گریدل هست برای وکتور ها
implementation 'com.android.support:support-vector-drawable:27.0.2'
یکی هم بخش دیفالت کانفیگ هست
vectorDrawables.useSupportLibrary = true
بعد دستور super.onCreate( این سطر رو باید بزاری
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
بعد وکتورهایی که میخوای استفاده کنی عادی مثل همیشه اضافه میکنی اسمشم میزاری مثلا ic_email.xml
بعد میای توی فولدر دراوبل یه فایل xml دیگه ایجاد میکنی به اسم مثلا icon_email.xml و به شکل زیر محتواشو مینویسی
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_email" />
</selector>
آخر سر هم میبری ست میکنی به drawable right و یا بقیه دراوبل فیلد های ویو های مختلف
اسم icon_email رو
#drawable_right #fix #tutorial
@varchar
دوتا دستور تو گریدل هست برای وکتور ها
implementation 'com.android.support:support-vector-drawable:27.0.2'
یکی هم بخش دیفالت کانفیگ هست
vectorDrawables.useSupportLibrary = true
بعد دستور super.onCreate( این سطر رو باید بزاری
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
بعد وکتورهایی که میخوای استفاده کنی عادی مثل همیشه اضافه میکنی اسمشم میزاری مثلا ic_email.xml
بعد میای توی فولدر دراوبل یه فایل xml دیگه ایجاد میکنی به اسم مثلا icon_email.xml و به شکل زیر محتواشو مینویسی
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_email" />
</selector>
آخر سر هم میبری ست میکنی به drawable right و یا بقیه دراوبل فیلد های ویو های مختلف
اسم icon_email رو
#drawable_right #fix #tutorial
@varchar
خیلی وقته مطلب تو بلاگ نمی نویسم فرصت نمیشه راستش شرمنده بابت این مورد 😁
امروز داشتم یه اپ موزیک مینوشتم که چندتا مورد پیدا کردم
اولی اینه که روند نشون دادن نوتیفیکیشن تو foreground service ها برای اندروید o عوض شده
لینک نمونه کدهاش اینجا هست
https://stackoverflow.com/questions/44658923/android-foreground-service-notification-not-showing/50634187#50634187
دومی هم برای کنترل موزیک پلیر با دکمه های هدفون - نوتیفیکیشن بار و ... کلا یه اینترفیس مانندی هست تو اندروید به اسم media session که دستورهای کنترل وضعیت پخش موزیک با اون رد و بدل میشه - یه سری پست هم از گوگل دولوپرز در مورش پیدا کردم
https://medium.com/google-developers/understanding-mediasession-part-1-3-e4d2725f18e4
#music #music_player #foreground_services
@varchar
امروز داشتم یه اپ موزیک مینوشتم که چندتا مورد پیدا کردم
اولی اینه که روند نشون دادن نوتیفیکیشن تو foreground service ها برای اندروید o عوض شده
لینک نمونه کدهاش اینجا هست
https://stackoverflow.com/questions/44658923/android-foreground-service-notification-not-showing/50634187#50634187
دومی هم برای کنترل موزیک پلیر با دکمه های هدفون - نوتیفیکیشن بار و ... کلا یه اینترفیس مانندی هست تو اندروید به اسم media session که دستورهای کنترل وضعیت پخش موزیک با اون رد و بدل میشه - یه سری پست هم از گوگل دولوپرز در مورش پیدا کردم
https://medium.com/google-developers/understanding-mediasession-part-1-3-e4d2725f18e4
#music #music_player #foreground_services
@varchar
Stack Overflow
Android foreground service notification not showing
I am trying to start a foreground service. I get notified that the service does start but the notification always gets suppressed. I double checked that the app is allowed to show notifications in ...
امروز متوجه یه چیزی شدم هر تغییری تو کدهای نوتیفیکیشن ایجاد میکردم صدا و ویبره میزد اپ بعد سرچ دیدم باگ sdk 27 هست
https://issuetracker.google.com/issues/65108694
ظاهرا یه سری باگهای اساسی داره sdk 27 فعلا تو پروژه هاتون نسخه 26 یا 25 استفاده کنید
من که برگشتم رو 25 فعلا بیشتر از همه استیبل تر هست :))
#sdk #bug
@varchar
https://issuetracker.google.com/issues/65108694
ظاهرا یه سری باگهای اساسی داره sdk 27 فعلا تو پروژه هاتون نسخه 26 یا 25 استفاده کنید
من که برگشتم رو 25 فعلا بیشتر از همه استیبل تر هست :))
#sdk #bug
@varchar
داخل نستد اسکرول ویو وقتی ریسایکلر ویو دارید و دیتا لود کنید میبینید که ویو خودش اتوماتیک به اونجا اسکرول میخوره که اذیت کننده هست برای غیر فعال کردنش باید به ویو بیرونی دستور
android:focusableInTouchMode="true"
رو اضافه کنید.
https://stackoverflow.com/a/37312042
#اندروید #اسکرول_ناخواسته #nested_scrollview
@varchar
android:focusableInTouchMode="true"
رو اضافه کنید.
https://stackoverflow.com/a/37312042
#اندروید #اسکرول_ناخواسته #nested_scrollview
@varchar
Stack Overflow
RecyclerView steals focus when inside a NestedScrollView
When I put a RecyclerView inside a nested scrollview, the screen always jumps to the top of the RecyclerView instead of the top of the page. Here is a simple example.
layout xml:
<?xml version...
layout xml:
<?xml version...
حتما مشکل سوایپ ویوپیجری که بهش دایرکشن rtl دادید رو شما هم تجربه کردید :))
امروز یکم با کتابخونه های کمکی تست و اینا انجام دادم دیدم زیادی پیچیده ان یا بعضیا مشکل دارن و اینا و اینکه کتابخونه اس در هر حال کد اضافی هست و حجم برنامه میره بالا
بعد یکم سرچ دیدم ویژگی به این شکل تو xml هست برای اندروید
android:rotationY="180"
اومدم این رو ست کردم به ویو پیجر یعنی این شکلی
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rotationY="180" />
با انجام این کار ویو برعکس کار میکنه مشکلی هم که داره محتویات داخلیش هم 180 درجه چرخیدن
بعدش اومدم به خارجی ترین لایه فرگمنت هام اینو اضافه کردم درست شد
android:rotationY="-180"
یعنی مثلا خارجی ترین لایه به این شکل هست
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:rotationY="-180"
tools:context=".fragment.FoodListFragment">
</LinearLayout>
بدون کتابخونه و کلی کد اضافی با یه سطر کد اومدم مشکل برعکس سوایپ شدن ویو پیجر رو حل کردم
#rtl #reverse_swipe #view_pager
@varchar
امروز یکم با کتابخونه های کمکی تست و اینا انجام دادم دیدم زیادی پیچیده ان یا بعضیا مشکل دارن و اینا و اینکه کتابخونه اس در هر حال کد اضافی هست و حجم برنامه میره بالا
بعد یکم سرچ دیدم ویژگی به این شکل تو xml هست برای اندروید
android:rotationY="180"
اومدم این رو ست کردم به ویو پیجر یعنی این شکلی
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rotationY="180" />
با انجام این کار ویو برعکس کار میکنه مشکلی هم که داره محتویات داخلیش هم 180 درجه چرخیدن
بعدش اومدم به خارجی ترین لایه فرگمنت هام اینو اضافه کردم درست شد
android:rotationY="-180"
یعنی مثلا خارجی ترین لایه به این شکل هست
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:rotationY="-180"
tools:context=".fragment.FoodListFragment">
</LinearLayout>
بدون کتابخونه و کلی کد اضافی با یه سطر کد اومدم مشکل برعکس سوایپ شدن ویو پیجر رو حل کردم
#rtl #reverse_swipe #view_pager
@varchar
حل مشکل کش شدن open graph protocol سایت ها در تلگرام
یه یاداشت کوچیک برای کسایی که وب هم کار میکنن وقتی برای سایتتون تو هدر توضیحات شبکه های اجتماعی و عکس هاشو اضافه میکنید ممکنه اشتباهی پیش بیاد و لینک رو کپی کنید تو تلگرام بفرستید برا مشتری
یه مسئله ای پیش میاد اون هم اینه که تلگرام این توضیحات رو کش میکنه و حتی در صورت ویرایش هم درست نمیشه برای درست شدنش یه رباتی هست @webpagebot به این ربات لینک سایت مورد نظر رو بفرستید گزینه های آپدیت رو بزنید خودش درست میکنه :))
#web #telegram #open_graph #cache
@varchar
یه یاداشت کوچیک برای کسایی که وب هم کار میکنن وقتی برای سایتتون تو هدر توضیحات شبکه های اجتماعی و عکس هاشو اضافه میکنید ممکنه اشتباهی پیش بیاد و لینک رو کپی کنید تو تلگرام بفرستید برا مشتری
یه مسئله ای پیش میاد اون هم اینه که تلگرام این توضیحات رو کش میکنه و حتی در صورت ویرایش هم درست نمیشه برای درست شدنش یه رباتی هست @webpagebot به این ربات لینک سایت مورد نظر رو بفرستید گزینه های آپدیت رو بزنید خودش درست میکنه :))
#web #telegram #open_graph #cache
@varchar
به خاطر محدودیت های سرویس ها تو اندروید o حتی سرویسهای فایربیس هم با مشکل مواجه میشن که امروز متوجهش شدم
باید تبدیل کرد به BIND_JOB_SERVICE که اینجا یه سری توضیحات و راه حل دادن
https://stackoverflow.com/questions/46117554/firebasemessagingservice-crashes-on-android-o-due-to-background-execution-limits/48166636
#android #service #error #fcm
@varchar
باید تبدیل کرد به BIND_JOB_SERVICE که اینجا یه سری توضیحات و راه حل دادن
https://stackoverflow.com/questions/46117554/firebasemessagingservice-crashes-on-android-o-due-to-background-execution-limits/48166636
#android #service #error #fcm
@varchar
Stack Overflow
FirebaseMessagingService Crashes on Android O due to background execution limits
Our app is crashing on Android O due to the new background execution limits. We are on Firebase version 10.2.1, which is the one that added Android O support.
Seems like an issue with Firebase? Or...
Seems like an issue with Firebase? Or...
امروز یکی از سورسهای قدیمیم رو میخواستم با اس دی کا 28 کامپایل کنم یه ارور دیدم که مربوط به یک تغییری جالب تو اندروید P یا M هست.
Starting with Android 9 (API level 28), cleartext support is disabled by default.
یعنی از این به بعد اگه اپلیکیشن میخوایید بزارید رو گوگل پلی باید 100% گواهی ssl داشته باشید.
برای مارکت های دیگه چون تارگت اس دی کی مهم نیست میتونید دور بزنید.
روش دور زدن هم اضافی کردن android:usesCleartextTraffic="true" به تگ application تو منیفست هست
https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted
اینجا هم یه رفیقمون یه مقاله ای درموردش نوشته که بعدا میخونم ببینم چی میگه
https://koz.io/android-m-and-the-war-on-cleartext-traffic/
#android #android_p #networking
@varchar
Starting with Android 9 (API level 28), cleartext support is disabled by default.
یعنی از این به بعد اگه اپلیکیشن میخوایید بزارید رو گوگل پلی باید 100% گواهی ssl داشته باشید.
برای مارکت های دیگه چون تارگت اس دی کی مهم نیست میتونید دور بزنید.
روش دور زدن هم اضافی کردن android:usesCleartextTraffic="true" به تگ application تو منیفست هست
https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted
اینجا هم یه رفیقمون یه مقاله ای درموردش نوشته که بعدا میخونم ببینم چی میگه
https://koz.io/android-m-and-the-war-on-cleartext-traffic/
#android #android_p #networking
@varchar
Android Developers
Network security configuration | Security | Android Developers
Feature that allows app developers to customize network security settings in a safe configuration file.
خواندن اس ام اس احراز هویت برای ورود به اپ بدون پرمیشن
امروز گوگل اپلیکیشن یکی از مشتریان رو حذف کرده بود چک کردم ببینم دلیلش چیه که دیدم به دسترسی اس ام اس خوندن که تو ورژن آخر اضافی کرده بودم گیر دادن و نوشتن که در صورتی که نیاز هست باید با جزئیات اعلام کنید جریان چیه تا بصورت استثنا تایید کنیم. متنش جالبه پست بعدی میزارم خودتون چک کنید
دسترسی خوندن اس ام اس رو برای خوندن اس ام اس احراز هویت کاربر اضافی کرده بودم با ران تایم پرمیشن هم بود که کاربر مطلع باشه.
بعد چک کردن بالاخره دیدم برای اس ام اس هم خود گوگل یه راه حل ارائه داده که خیلی ساده هست SMSRetriver هست اسمش
راهنماش اینجا هست ولی کد ساده اش رو فردا میزارم تا همینجا کانال هم باشه
https://developers.google.com/identity/sms-retriever/request
تنها نکته اش که من رو باعث شد اتلاف وقت داشته باشم اس ام اس ارسالی باید یه سری ویژگی داشته باشه
- Be no longer than 140 bytes
- Begin with the prefix <#>
- Contain a one-time code that the client sends back to your server to complete the verification flow (see Generating a one-time code)
- End with an 11-character hash string that identifies your app (see Computing your app's hash string)
این سطر آخر نوشته که باید هش استرینگ داشته باشه که برای ساختش یا باید لینوکسی باشید و با کلید و کد هش استرینگ رو بگیرید
https://developers.google.com/identity/sms-retriever/verify
یا هم این کلاس رو کپی کنید تو برنامه اتون و آبجکت بسازید و متد getAppSignatures() رو فراخوانی کنید از لاگ کت مقدار Hash رو بردارید
https://github.com/googlesamples/android-credentials/blob/master/sms-verification/android/app/src/main/java/com/google/samples/smartlock/sms_verify/AppSignatureHelper.java
#android #sms
@varchar
امروز گوگل اپلیکیشن یکی از مشتریان رو حذف کرده بود چک کردم ببینم دلیلش چیه که دیدم به دسترسی اس ام اس خوندن که تو ورژن آخر اضافی کرده بودم گیر دادن و نوشتن که در صورتی که نیاز هست باید با جزئیات اعلام کنید جریان چیه تا بصورت استثنا تایید کنیم. متنش جالبه پست بعدی میزارم خودتون چک کنید
دسترسی خوندن اس ام اس رو برای خوندن اس ام اس احراز هویت کاربر اضافی کرده بودم با ران تایم پرمیشن هم بود که کاربر مطلع باشه.
بعد چک کردن بالاخره دیدم برای اس ام اس هم خود گوگل یه راه حل ارائه داده که خیلی ساده هست SMSRetriver هست اسمش
راهنماش اینجا هست ولی کد ساده اش رو فردا میزارم تا همینجا کانال هم باشه
https://developers.google.com/identity/sms-retriever/request
تنها نکته اش که من رو باعث شد اتلاف وقت داشته باشم اس ام اس ارسالی باید یه سری ویژگی داشته باشه
- Be no longer than 140 bytes
- Begin with the prefix <#>
- Contain a one-time code that the client sends back to your server to complete the verification flow (see Generating a one-time code)
- End with an 11-character hash string that identifies your app (see Computing your app's hash string)
این سطر آخر نوشته که باید هش استرینگ داشته باشه که برای ساختش یا باید لینوکسی باشید و با کلید و کد هش استرینگ رو بگیرید
https://developers.google.com/identity/sms-retriever/verify
یا هم این کلاس رو کپی کنید تو برنامه اتون و آبجکت بسازید و متد getAppSignatures() رو فراخوانی کنید از لاگ کت مقدار Hash رو بردارید
https://github.com/googlesamples/android-credentials/blob/master/sms-verification/android/app/src/main/java/com/google/samples/smartlock/sms_verify/AppSignatureHelper.java
#android #sms
@varchar
Android Developers
Request SMS Verification in an Android App | Identity | Android Developers
متن ایمیل گیردادن به دسترسی Call - SMS
Please read through the Permissions policy and the Play Console Help Center article (which describes intended uses, exceptions, invalid uses, and alternative options for use of Call Log or SMS permissions) to determine which of the following options applies to your app:
Option 1) If your app does not require access to Call Log or SMS permissions:
Remove the specified permissions from your app’s manifest, or migrate to an alternative implementation, then publish the updated version of your app using the standard release process.
Option 2) If your app’s use case is not eligible but you require additional time to make the necessary changes to your app:
You may request an extension by releasing a new version of your APK with a higher version code. You'll be required to complete a Permissions Declaration as a step in the release process. Select the option "No, this release does not meet the SMS and Call Log permissions policy," and fill out the remainder of the form's required fields. You will have until March 9, 2019 to make the necessary changes to your app.
Option 3) If your app is a default handler, or you believe your app qualifies for an exception:
Release a new version of your APK with a higher version code. You'll be required to complete a Permissions Declaration as a step in the release process. Select the appropriate use case for your app and fill out the remainder of the form's required fields.
https://support.google.com/googleplay/android-developer/answer/9047303
@varchar
Please read through the Permissions policy and the Play Console Help Center article (which describes intended uses, exceptions, invalid uses, and alternative options for use of Call Log or SMS permissions) to determine which of the following options applies to your app:
Option 1) If your app does not require access to Call Log or SMS permissions:
Remove the specified permissions from your app’s manifest, or migrate to an alternative implementation, then publish the updated version of your app using the standard release process.
Option 2) If your app’s use case is not eligible but you require additional time to make the necessary changes to your app:
You may request an extension by releasing a new version of your APK with a higher version code. You'll be required to complete a Permissions Declaration as a step in the release process. Select the option "No, this release does not meet the SMS and Call Log permissions policy," and fill out the remainder of the form's required fields. You will have until March 9, 2019 to make the necessary changes to your app.
Option 3) If your app is a default handler, or you believe your app qualifies for an exception:
Release a new version of your APK with a higher version code. You'll be required to complete a Permissions Declaration as a step in the release process. Select the appropriate use case for your app and fill out the remainder of the form's required fields.
https://support.google.com/googleplay/android-developer/answer/9047303
@varchar
Google
Use of SMS or Call Log permission groups - Play Console Help
To help protect users and their data, Google Play restricts the use of high-risk or sensitive permissions, including
سلام
داشتم در مورد کراپ کردن عکس قبل از آپلود کردن عکس به سرور سرچ میکردم که یه اینتنت پیدا کردم به این شکل
Intent cropIntent = new Intent("com.android.camera.action.CROP");
ولی بعدش مشکوک شدم سرچ زدم ببینم جدی ماله اندروید هست یا نه که دیدم نه ماله خود سیستم عامل نیست برای کراپ کردن از کتابخونه باید استفاده کرد همینجا توضیحاتش هست بخونید :))
https://commonsware.com/blog/2013/01/23/no-android-does-not-have-crop-intent.html
#crop_image #android #image
@varchar
داشتم در مورد کراپ کردن عکس قبل از آپلود کردن عکس به سرور سرچ میکردم که یه اینتنت پیدا کردم به این شکل
Intent cropIntent = new Intent("com.android.camera.action.CROP");
ولی بعدش مشکوک شدم سرچ زدم ببینم جدی ماله اندروید هست یا نه که دیدم نه ماله خود سیستم عامل نیست برای کراپ کردن از کتابخونه باید استفاده کرد همینجا توضیحاتش هست بخونید :))
https://commonsware.com/blog/2013/01/23/no-android-does-not-have-crop-intent.html
#crop_image #android #image
@varchar
CommonsWare: Android App Development Books
No, Android Does *Not* Have a Crop Intent
Android app development books
Forwarded from utubebot
Media is too big
VIEW IN TELEGRAM
SMS Verification Codes Made Easy on Android V2!
utubebot
SMS Verification Codes Made Easy on Android V2!
یک روش خواندن اس ام اس فعال سازی دیگه که گوگل معرفی کرده یکم متفاوت تر از sms retriever هست و روش بهتری هم هست - چون اونجا اول و آخر اس ام اس فرمتش زشت تر میشد این شکلی خیلی بهتره
نمونه کدش هم اینجا هست
https://developers.google.com/identity/sms-retriever/user-consent/request
باید سر فرصت تست کنم ببینم گوگل پلی تایید میکنه یا نه خبرشو میدم اینجا :)
#sms #android
@varchar
نمونه کدش هم اینجا هست
https://developers.google.com/identity/sms-retriever/user-consent/request
باید سر فرصت تست کنم ببینم گوگل پلی تایید میکنه یا نه خبرشو میدم اینجا :)
#sms #android
@varchar
Google for Developers
Request one-time consent to read an SMS verification code | Credential Verification | Google for Developers
روش درست ساخت اپ از روی pwa
این روزها که مسایل تحریم و حذف اپ ها زیاد شده شرکت های زیادی به سمت pwa اومدن که وب سایتهاشون رو جوری برنامه نویسی کنن که بصورت اپلیکیشن بشه رو گوشیها نصب و اجرا کرد.
اینجور مواقع هم استارتاپ ها و شرکت ها میخوان وب اپ خودشون رو به شکل اپلیکیشن دربیارن و تو مارکت ها منتشر کنن.
خب بیشتر مواقع ما یا سمت وب ویو میریم یا کروم تب که یه سری محدودیت هایی دارن مثلا مثل اپ های نیتیو فول اسکرین نمیشن و یا نیازمند تنظیمات زیادی هستن و بیشتر مواقع هم پلی استور رد میکنه چون پرفومنس لازم رو ندارن :)
برای همین گوگل خودش اومده یه حالت استاندارد و با محدودیت کمتر گذاشته که بهش میگن twa یا همون Trusted Web Activities که فرق زیادی با کروم تب ویو نداره پست بعدی عکسش رو میزارم تفاوت هاشون
یه سری مزایا و شرایط استفاده داره که تو این فیلم یوتیوب توضیح میدن
https://www.youtube.com/watch?v=6lHBw3F4cWs
برای پیاده سازی که خیلی چیز خاصی هم نیست میتونید راهنمای خود گوگل رو ببینید
https://developers.google.com/web/updates/2019/02/using-twa
در کل چیزخاصی فرق نکرده ولی گوگل همیشه اجازه یه سری کارها رو میده بعدا میاد قوانین میزاره که امن تر بشه کاربرهاش :)
#android #web #pwa #twa
@varchar
این روزها که مسایل تحریم و حذف اپ ها زیاد شده شرکت های زیادی به سمت pwa اومدن که وب سایتهاشون رو جوری برنامه نویسی کنن که بصورت اپلیکیشن بشه رو گوشیها نصب و اجرا کرد.
اینجور مواقع هم استارتاپ ها و شرکت ها میخوان وب اپ خودشون رو به شکل اپلیکیشن دربیارن و تو مارکت ها منتشر کنن.
خب بیشتر مواقع ما یا سمت وب ویو میریم یا کروم تب که یه سری محدودیت هایی دارن مثلا مثل اپ های نیتیو فول اسکرین نمیشن و یا نیازمند تنظیمات زیادی هستن و بیشتر مواقع هم پلی استور رد میکنه چون پرفومنس لازم رو ندارن :)
برای همین گوگل خودش اومده یه حالت استاندارد و با محدودیت کمتر گذاشته که بهش میگن twa یا همون Trusted Web Activities که فرق زیادی با کروم تب ویو نداره پست بعدی عکسش رو میزارم تفاوت هاشون
یه سری مزایا و شرایط استفاده داره که تو این فیلم یوتیوب توضیح میدن
https://www.youtube.com/watch?v=6lHBw3F4cWs
برای پیاده سازی که خیلی چیز خاصی هم نیست میتونید راهنمای خود گوگل رو ببینید
https://developers.google.com/web/updates/2019/02/using-twa
در کل چیزخاصی فرق نکرده ولی گوگل همیشه اجازه یه سری کارها رو میده بعدا میاد قوانین میزاره که امن تر بشه کاربرهاش :)
#android #web #pwa #twa
@varchar
YouTube
Taking Chrome Full Screen with Trusted Web Activities (Google I/O ’19)
A Trusted Web Activity (TWA) displays a full screen Chrome browser inside of an Android app with no browser UI. Although Android apps routinely include web content using a Chrome Custom Tab (CCT) or WebView, a TWA offers unique advantages when you need Chrome’s…
پرداخت درون برنامه ای کافه بازار یا هر مارکت در اندروید ۱۱
- در صورتی که ورژن compileSdk برنامهی شما اندروید ۱۱ (ایپیآی ورژن ۳۰) باشد، نیاز هست که تگ queryرا به فایل AndroidManifest.xml خود اضافه کنید تا اسدیکی بتواند وضعیت نصب بودن برنامه بازار را بررسی کند.
https://developer.android.com/training/package-visibility/declaring
یعنی مثلا برا کافه بازار یه همچین حالتی نیازه
<manifest package="com.example.game">
<queries>
<package android:name="com.farsitel.bazaar" />
</queries>
...
</manifest>
@varchar
- در صورتی که ورژن compileSdk برنامهی شما اندروید ۱۱ (ایپیآی ورژن ۳۰) باشد، نیاز هست که تگ queryرا به فایل AndroidManifest.xml خود اضافه کنید تا اسدیکی بتواند وضعیت نصب بودن برنامه بازار را بررسی کند.
https://developer.android.com/training/package-visibility/declaring
یعنی مثلا برا کافه بازار یه همچین حالتی نیازه
<manifest package="com.example.game">
<queries>
<package android:name="com.farsitel.bazaar" />
</queries>
...
</manifest>
@varchar
Android Developers
Declare package visibility needs | App architecture | Android Developers
This document describes how to declare package visibility for Android apps targeting API level 30 or higher, enabling interaction with other apps not automatically visible.
سلام
یه پست دیگه بعد مدت ها :))
این روزها توی یک اپلیکیشن نیاز داشتم مختصات مرز شهرها رو برای محدود کردن بازه انتخابی از یک نقشه رو پیدا کنم ولی خب مشکل بود یک پستی از استک اکسچنج پیدا کردم که کپی میکنم اگر دوستان نیاز داشتن استفاده کنند
https://gis.stackexchange.com/a/192298
1- از طریق اوپن استریت مپ میاییم اسم شهر رو سرچ میکنیم از لیست اومده گزینه مورد نظر رو انتخاب کنید تو آدرسی که باز میشه یه osm id هست اونو باید کپی بگیریم
http://nominatim.openstreetmap.org/
2- تو این لینک زیر هم میاییم اون osm id رو سرچ میکنیم و به شکل فرمت دلخواه دیتای مورد نظر رو دانلود میکنیم
http://polygons.openstreetmap.fr/index.py
#map #json #geolocation
@varchar
یه پست دیگه بعد مدت ها :))
این روزها توی یک اپلیکیشن نیاز داشتم مختصات مرز شهرها رو برای محدود کردن بازه انتخابی از یک نقشه رو پیدا کنم ولی خب مشکل بود یک پستی از استک اکسچنج پیدا کردم که کپی میکنم اگر دوستان نیاز داشتن استفاده کنند
https://gis.stackexchange.com/a/192298
1- از طریق اوپن استریت مپ میاییم اسم شهر رو سرچ میکنیم از لیست اومده گزینه مورد نظر رو انتخاب کنید تو آدرسی که باز میشه یه osm id هست اونو باید کپی بگیریم
http://nominatim.openstreetmap.org/
2- تو این لینک زیر هم میاییم اون osm id رو سرچ میکنیم و به شکل فرمت دلخواه دیتای مورد نظر رو دانلود میکنیم
http://polygons.openstreetmap.fr/index.py
#map #json #geolocation
@varchar
Geographic Information Systems Stack Exchange
Getting polygon boundaries of City in JSON from Google Maps API?
When searching Google Maps for a city, the city's administrative boundary is displayed.
Is there a way to get the polygon boundaries of City in a JSON format using google maps api?
Is there a way to get the polygon boundaries of City in a JSON format using google maps api?