امیر توحیدی هستم. برنامه نویس و توسعه دهنده یا هر چیزی که شما بگید. :)
راه اندازی deep link در فلاتر
سلام
امروز مسئله ای که تقریبا یک هفته درگیرش بودم می خوام شرح بدم
من در حال نوشتن یک APP اندروید و بعدش انشالله IOS روی بستر فلاتر هستم به نام نظرجو
به صورت شبکه اجتماعی سوال و جواب هست اولش با امکانات خیلی ساده که در ادامه قرار بزرگ بشه انشالله
این حجم زیادی از جستجو ها از طریق گوگل قرار وارد سایت نظرجو بشه به خاظر همین نیاز داریم تا در صورتی که از گوگل سرچ شد و اپ مارو نصب داشت بتونه از طریق اون وارد صفحه مورد نظر اپ بشه
در زبان ساده به این کار که از طریق لینک سایت به طور خاص در اینجا بتونیم درخواست به اپ مربوطه بفرستیم و در اپ بنا به لینک صفحه مورد نظر نشون بدیم میشه دیپ لینک به طور ملموسش اپ دیجیکالا وقتی اپش دارید بر روی لینک مربوطه میزنید اگر اپ داشته باز میشه میره داخل صفحه مورد نظر.
خوب تا اینجا خیلی ساده سعی کردم این توضیح بدم
روی فلاتر چطوری این کار باید انجام بدیم
در بالا repository که قرار دادم میتونید خیلی راحت با کپی کردن کدهای مورد نظر روی پروژه فلاتر این به راحتی اجرا کنید
این نمونه کد روی فلاتر 1.22 روی channel stable تست شده است .
من این روی sdk 19 کار کردم به راحتی جواب داده است .
خوب تا اینجای کار روتین هست و با اصلاح androidmanifest در پوشه app/src/main و اضافه کردن این کد
<intent-filter android:label="Nazarjo">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="nazarjo.com"
android:pathPrefix="/"
/>
<data
android:scheme="https"
android:host="nzrj.ir"
android:pathPrefix="/"
/>
</intent-filter>
در activity می توانید درخواست های مربوط به یک دامنه خاص دریافت کنید .
یک نمونه اش توضیح می دم خدمتتون البته فکر کنم واضح باشه.
به طور مثال ما می خوایم وقتی روی این لینک کلیک شد در هر اپ و هر جایی در گوشی اندروید اپ ما باز شود به طور مثال example://nazarjo.app/test
مقادیر زیر به این صورت می شود
1 - android:scheme
example
2 - android:host
nazarjo.app
3 - android:pathPrefix
test
و این می توانید یک لینک باشد که example می تواند http یا https باشد .
خوب تا اینجا کد فعال کردیم و همین طور intent filter روی androidmanifest تنظیم کردیم.
من کتابخانه مورد نظری که قرار دادم توضیح ندادم چون خیلی دقیق قرار داده و مهم ترین چیزی که باید تنظیم بشه mainAcitivty است
با تنظیم این مورد می توانید به درستی با دریافت لینک اپ را فعال نمایید.
امیدوارم کاربردی بوده باشه اگر بخواید دقیقتر در مورد MainActivity بدانید. این درواقع API صالی اندروید می باشد درخواست هایی که با سیستم خود اندروید می خواهید مستقیم کار کنید مثلا می خواهید خودتون کتابخانه ای بسازید که درصد باطری دریافت کنید یا فینگر پرینت و .... استفاده کنید بدون پکیج های از قبل آماده شده. این در واقع میاد درخواست اونجا میگیره هندل میکنه و به سمت فلاتر پاس داده میشه
من سعی کردم مواردی که خودم درگیرش بودم اطلاع بدم
اهان میشه
مطلبی دیگر از این انتشارات
اصل دوم پیاده سازی SOLID با کدهای دارت برای فریم ورک Flutter
مطلبی دیگر از این انتشارات
گرفتن خروجی IOS بدون نیاز به حساب 100 دلاری اپل و سیستم عامل مک
مطلبی دیگر از این انتشارات
در باب factory constructor و static method در dart