اندروید با راه حل هوش مصنوعی

برنامه های اندروید خود را با هوش مصنوعی Generative شارژ کنید

در این مسیر یادگیری، متوجه خواهید شد که چگونه با استفاده از فناوری‌های Google، اپلیکیشن‌های اندرویدی جذاب‌تر را با تلاش کمتر بسازید. در بخش‌های بعدی، یک برنامه آماده‌سازی وعده‌های غذایی فرضی ایجاد کرده و آن را بهبود می‌بخشید - یک برنامه پایه برای نوع برنامه‌ای که ممکن است امروز به عنوان یک توسعه‌دهنده اندروید روی آن کار کنید.

یاد خواهید گرفت که چگونه از Gemini در Android Studio برای یادگیری و توسعه سریع‌تر استفاده کنید، از Firebase برای ایجاد لایه‌های ذخیره‌سازی برنامه‌تان و ورود به سیستم، استفاده از Gemini برای ایجاد ویژگی‌های پیشرفته هوش مصنوعی در برنامه‌تان استفاده کنید، و از ابزارهایی مانند Firebase Remote Config، Google Analytics و Crashlytics برای پشتیبانی از برنامه‌تان در تولید استفاده کنید.

توسعه اندروید خود را با Gemini در اندروید استودیو شارژ کنید

ساختن برنامه های اندروید با کمک Gemini در اندروید استودیو، همراه کدنویسی با هوش مصنوعی شما، آسان تر از همیشه است.

جمینی در اندروید استودیو با ادغام مستقیم هوش مصنوعی در IDE که روزانه استفاده می‌کنید، طراحی شده است تا با کمک به شما در طول چرخه عمر توسعه نرم‌افزار، ساخت برنامه‌های اندروید با کیفیت بالا را سریع‌تر و آسان‌تر کند. این بدان معناست که می‌توانید مفاهیم جدید را سریع‌تر یاد بگیرید، به راحتی نمونه‌های اولیه را انجام دهید و زمان بیشتری را صرف تمرکز روی بخش‌هایی از برنامه خود کنید که مهم هستند.

همانطور که برنامه Android خود را شروع می کنید، ببینید Gemini در Android Studio چگونه می تواند سفر توسعه شما را افزایش دهد.
اگر در اندروید یا حوزه‌های خاص توسعه اندروید تازه کار هستید، Gemini در Android Studio می‌تواند یک ابزار آموزشی ارزشمند باشد.

  • پاسخ فوری به سؤالات خود دریافت کنید: می توانید سؤالات Gemini را در مورد مفاهیم اساسی Android، API های خاص یا بهترین شیوه ها مستقیماً در پنجره چت Android Studio بپرسید. به عنوان مثال، می توانید بپرسید "موضوع تاریک چیست؟" یا «بهترین راه برای دریافت موقعیت مکانی در Android چیست؟».
  • دریافت نمونه‌های کد و راهنمایی: Gemini می‌تواند تکه‌های کد تولید کند و در اجرای ویژگی‌های مختلف، مانند افزودن پشتیبانی دوربین یا ایجاد پایگاه داده اتاق، راهنمایی ارائه دهد. حتی می توانید کد را در Kotlin یا به طور خاص برای Jetpack Compose درخواست کنید.
  • درک خطاها و یافتن راه حل: هنگامی که با خطاهای ساخت یا همگام سازی مواجه می شوید، می توانید از Gemini توضیح و پیشنهاداتی در مورد نحوه حل آنها بخواهید. Gemini همچنین می‌تواند به تجزیه و تحلیل گزارش‌های خرابی از App Quality Insights، ارائه خلاصه‌ها و توصیه مراحل بعدی کمک کند.
به‌عنوان مثال، برای برنامه آماده‌سازی وعده‌های غذایی فرضی ما، می‌توانید از Gemini بخواهید که به نمونه‌سازی اولیه طرح‌بندی جدید Compose برای نشان دادن کارت دستور غذا کمک کند. با استفاده از قابلیت‌های چند وجهی Gemini، به سادگی یک مدل Wireframe تهیه کنید و از Gemini بخواهید که کد رابط کاربری شما را ترسیم کند.
نسخه انفرادی Gemini در Android Studio بدون هزینه در حین پیش نمایش است.

با این حال، برای توسعه در محیط‌های تیمی بزرگ با الزامات مدیریتی و حریم خصوصی سخت‌تر، Gemini in Studio برای کسب‌وکارها مزایای ارزشمند دیگری از جمله حفظ حریم خصوصی، امنیت، ویژگی‌های سفارشی‌سازی کد را افزایش می‌دهد - و برای استفاده با اعتبارات Google Cloud شما در دسترس است.

همراه با Gemini Code Assist، این ابزارها به تیم‌ها قدرت می‌دهند تا از قدرت هوش مصنوعی با اطمینان استفاده کنند و به نیازهای حیاتی حریم خصوصی، امنیت و مدیریت بپردازند.

بلوک های ساختمان Firebase برای برنامه شما

ویژگی‌های رایج در توسعه برنامه‌ها، مانند ذخیره‌سازی ابری، احراز هویت کاربر، و گزارش خرابی، اجزای ضروری هنگام توسعه و اجرای هر برنامه هستند.

Firebase با ارائه این بلوک‌های اساسی، فرآیند توسعه برنامه اندروید را ساده می‌کند و نیازی به پیاده‌سازی باطن خود را از بین می‌برد.
به عنوان مثال، اگر در حال ساختن یک برنامه آماده سازی دستور غذا هستید، باید دستور العمل ها، برنامه های غذایی، و لیست مواد تشکیل دهنده را فراتر از دستگاه ادامه دهید (مثلاً در صورتی که کاربر گوشی را تغییر دهد). می‌توانید این داده‌ها را در Cloud Firestore حفظ کنید.

Cloud Firestore یک پایگاه داده ابری مقیاس پذیر NoSQL است که توسط Firebase و Google Cloud ارائه شده است. همگام‌سازی بی‌درنگ داده‌ها را در بین برنامه‌های مشتری از طریق شنونده‌های هم‌زمان امکان‌پذیر می‌کند، و از پشتیبانی آفلاین برای موبایل و وب پشتیبانی می‌کند و عملکرد پاسخگوی برنامه را بدون توجه به در دسترس بودن شبکه تضمین می‌کند. به طور یکپارچه با سایر محصولات Firebase و Google Cloud، از جمله توابع Cloud ، ادغام می شود.

احراز هویت کاربر ضروری است تا به کاربرانی که دستگاه‌ها را تعویض می‌کنند اجازه دسترسی به داده‌هایشان را بدهد - و مطمئن شوند که دیگران نمی‌توانند به داده‌های آنها دسترسی داشته باشند!

Firebase Authentication ابزار قدرتمندی است که فرآیند افزودن احراز هویت کاربر به برنامه های اندروید را ساده می کند. این سرویس خدمات پشتیبان و یک SDK با کتابخانه‌های UI آماده ارائه می‌کند که از روش‌های احراز هویت مختلف، از جمله ورود به ایمیل/گذرواژه، احراز هویت شماره تلفن، و ادغام با ارائه‌دهندگان هویت فدرال محبوب مانند Google، Facebook و Twitter پشتیبانی می‌کند.
نظارت بر خطاها و خرابی‌ها برای اطمینان از پایداری و موفقیت برنامه‌های شما ضروری است - یک برنامه خراب کاربران شما را ناامید می‌کند و حذف نصب می‌شود!

Firebase Crashlytics یک گزارشگر خرابی بلادرنگ است که به شما کمک می کند مشکلات پایداری را که کیفیت برنامه شما را کاهش می دهد، ردیابی، اولویت بندی و رفع کنید. با گروه بندی هوشمند خرابی ها و برجسته کردن شرایطی که منجر به آنها می شود، در زمان عیب یابی شما صرفه جویی می کند.

هر دو Cloud Firestore و Firebase Authentication سطوح سخاوتمندانه بدون هزینه ای را ارائه می دهند. با این حال، اگر برنامه شما به سهمیه یا ویژگی های پیشرفته بیشتری از این سرویس ها نیاز دارد، باید در یک طرح پولی باشید. اما نگران نباشید - می توانید از اعتبارات Cloud خود برای پوشش این هزینه ها استفاده کنید! و Crashlytics بدون توجه به میزان استفاده از آن رایگان است.

برای آشنایی با سایر راه حل های ارائه شده توسط Firebase، به وب سایت Firebase مراجعه کنید.
scope.launch {
  val response = model.generateContent(
    "Create a shopping list with $cuisineStyle ingredients")
}
در مورد یک برنامه دستور پخت نمونه، Gemini 2.0 Flash می‌تواند فهرست خریدی از مواد اولیه برای پخت یک غذا به سبک خاص آشپزی ایجاد کند. حتی می‌توانید از مدل بخواهید یک رشته JSON تولید کند که به راحتی در برنامه برای رندر کردن در رابط کاربری تجزیه شود. برای تولید لیست، کافیست تابع «generateContent()» را با یک دستور متنی فراخوانی کنید.

راهنمای برنامه نویس اندروید را مرور کنید تا در مورد آن بیشتر بدانید.

هوش مصنوعی مولد در اندروید

ادغام هوش مصنوعی Generative در برنامه Android آماده سازی غذا از راه های مختلفی قابل دستیابی است. در اینجا یک مرور سریع از هر گزینه ارائه شده است:
Gemini Nano مدلی از خانواده Gemini است که برای اجرا بر روی دستگاه بهینه شده است. این به طور مستقیم از طریق AICore به سیستم عامل اندروید ادغام می شود. می‌توانید از آن برای ارائه تجربیات هوش مصنوعی بدون نیاز به اتصال به شبکه یا ارسال داده به ابر استفاده کنید.

هوش مصنوعی روی دستگاه یک گزینه عالی برای مواردی است که تاخیر کم، هزینه کم و حفاظت از حریم خصوصی نگرانی های اصلی شما هستند. به عنوان مثال، در یک برنامه قبل از غذا، می توان از Gemini Nano برای پیشنهاد ایده های غذایی بر اساس غذاهای مختلف و تاریخچه غذای کاربر استفاده کرد.

در مستندات اندروید می توانید در مورد معماری فنی Gemini Nano اطلاعات بیشتری کسب کنید.

برای آزمایش Gemini Nano در برنامه خود، Gemini Nano روی دستگاه را با مرحله آزمایشی Google AI Edge SDK زیر مرور کنید.
مدل‌های هوش مصنوعی مولد که برای اجرا در فضای ابری بهینه‌سازی شده‌اند، عموماً از مدل‌های هوش مصنوعی روی دستگاه توانایی بیشتری دارند.

به‌عنوان یک توسعه‌دهنده اندروید، می‌توانید از Vertex AI در Firebase برای پیاده‌سازی سریع قابلیت‌های هوش مصنوعی در برنامه اندروید خود با استفاده از مدل‌های Gemini Pro و Flash برای وظایف تولید متن و Imagen برای وظایف تولید تصویر استفاده کنید.

خانواده مدل‌های هوش مصنوعی Gemini Pro و Flash چند وجهی هستند و می‌توانند طیف وسیعی از وظایف را انجام دهند. آنها ورودی تصویر، صدا و ویدئو را می گیرند و خروجی متنی را تولید می کنند که می تواند به صورت JSON، XML و CSV فرمت شود. و جدیدترین مدل‌های Gemini حتی می‌توانند خروجی چندوجهی تولید کنند - مانند صدا و تصویر!

به عنوان مثال، در یک برنامه آماده سازی غذا، می توانید از مدل Gemini برای ایجاد یک لیست خرید با مواد اولیه برای نوع خاصی از غذا استفاده کنید.

و می توانید از اعتبارات Google Cloud خود برای پوشش هزینه های این تماس ها با مدل های Gemini استفاده کنید!

برای یادگیری نحوه استفاده از مدل‌های Gemini میزبان ابری در برنامه خود، Gemini را از طریق Vertex AI در مرحله زیر Firebase مرور کنید.
Imagen 3 آخرین مدل تولید تصویر گوگل است. و می‌توانید از طریق Vertex AI در Firebase به آن دسترسی داشته باشید و قابلیت‌های تولید تصویر را به برنامه اندروید خود سریع و بدون درز اضافه کنید.

به عنوان مثال، در یک برنامه آماده سازی غذا، می توانید از مدل Imagen 3 برای ایجاد تصاویر دستور غذا استفاده کنید.

هزینه را می توان توسط Google Cloud Credit شما پوشش داد.

برای یادگیری نحوه استفاده از Imagen 3 در برنامه خود، Imagen 3 را برای تولید تصویر بخوانید مرحله زیر
همچنین می‌توانید قابلیت‌های هوش مصنوعی را از طریق یکپارچه‌سازی باطن اضافه کنید:

  • Genkit یک چارچوب متن باز است که توسعه، استقرار و نظارت بر برنامه های کاربردی مبتنی بر هوش مصنوعی را ساده می کند.
  • برای نیازهای پیشرفته‌تر MLOps، Google Cloud's Vertex AI خدمات کاملاً مدیریت شده و همچنین ارائه‌ای غنی از مدل‌ها را از طریق Vertex AI model Garden ارائه می‌کند. می‌توانید از اعتبارات Google Cloud خود برای پوشش هر گونه هزینه برای این خدمات نیز استفاده کنید.


اگر می‌خواهید استنتاج هوش مصنوعی را فراتر از Gemini Nano روی دستگاه اجرا کنید، می‌توانید LiteRT و MediaPipe را نیز آزمایش کنید:
  • LiteRT (TFLite سابق) زمان اجرا با کارایی بالا گوگل برای هوش مصنوعی روی دستگاه است که برای اجرای موثر مدل های یادگیری ماشینی به طور مستقیم بر روی دستگاه ها طراحی شده است.
  • MediaPipe یک چارچوب متن باز است که توسعه دهندگان را قادر می سازد خطوط لوله یادگیری ماشینی را برای پردازش داده های چند رسانه ای، مانند ویدئو و صدا، در زمان واقعی ایجاد کنند.


برای کسب اطلاعات بیشتر در مورد پیشنهادات Android GenAI، از بخش هوش مصنوعی مستندات Android دیدن کنید.
Google AI Edge SDK توسعه دهندگان برنامه اندروید را قادر می سازد تا قابلیت های GenAI روی دستگاه Gemini Nano را برای ارتقای برنامه های خود ادغام و آزمایش کنند. در اینجا نحوه شروع به کار آمده است:
  • به گروه آزمایشی aicore Google بپیوندید
  • در برنامه تست AICore Android شرکت کنید
    پس از انجام این مراحل، نام برنامه AICore در فروشگاه Play (تحت مدیریت برنامه‌ها و دستگاه) باید از «Android AICore» به «Android AICore (بتا)» تغییر کند.
  • این مراحل را دنبال کنید تا مطمئن شوید که فایل های APK و باینری ها به درستی در دستگاه شما دانلود شده اند.
  • سپس با افزودن وابستگی زیر، پیکربندی Gradle برنامه خود را به‌روزرسانی کنید: implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")
    و مطمئن شوید که حداقل هدف SDK را روی 31 تنظیم کرده اید.
implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")
در مرحله بعد، می توانید مدل را برای کنترل پاسخ های آن پیکربندی کنید. این شامل ارائه زمینه و تنظیم اختیاری پارامترهای زیر است:

  • دما: سطح تصادفی بودن را کنترل می کند. مقادیر بالاتر باعث تنوع بیشتر در خروجی می شود.
  • Top K: تعداد توکن های با بالاترین رتبه را که برای تولید خروجی در نظر گرفته می شود را مشخص می کند.
  • تعداد نامزدها: حداکثر تعداد پاسخ هایی را که باید برگردانده شوند را تعیین می کند.
  • Max Output Tokens: حداکثر طول پاسخ را تنظیم می کند.
val generationConfig = generationConfig {
  context = ApplicationProvider.getApplicationContext()
  temperature = 0.2f
  topK = 16
  maxOutputTokens = 256
}
یک تابع downloadCallback اختیاری Callback ایجاد کنید. این تابع فراخوانی برای دانلود مدل استفاده می شود. همچنین پیام هایی را برمی گرداند که می توانند برای اهداف اشکال زدایی استفاده شوند. با استفاده از پیکربندی های تولید و دانلود اختیاری که قبلا ایجاد کرده اید، شی «GenerativeModel» را ایجاد کنید.
val downloadConfig = DownloadConfig(downloadCallback)
val generativeModel = GenerativeModel(
  generationConfig = generationConfig,
  downloadConfig = downloadConfig // optional
)
در نهایت، استنتاج را با ارسال فرمان خود به مدل اجرا کنید. اطمینان حاصل کنید که GenerativeModel.generateContent() در محدوده coroutine مناسب قرار دارد، زیرا یک تابع تعلیق است.

در زمینه یک نمونه برنامه آماده سازی غذا، Gemini Nano می تواند با پیشنهاد انواع غذاهای مختلف و وعده های غذایی متفاوت با تاریخچه غذا، الهام بخش غذا باشد.
scope.launch {
  val input = "Suggest different types of cuisines and easy to cook dishes that are not $recentMealList"
  val response = generativeModel.generateContent(input)
  print(response.text)
}
مدل Gemini Nano دارای حداکثر محدودیت توکن ورودی 12000 است. برای کسب اطلاعات بیشتر در مورد دسترسی آزمایشی Gemini Nano، به بخش Gemini Nano در مستندات اندروید بروید.

Gemini از طریق Vertex AI در Firebase

استفاده از Vertex AI در Firebase به شما این امکان را می‌دهد تا با استفاده از مدل‌های Gemini Cloud ویژگی‌های مبتنی بر GenAI را با استقرار و مدیریت بی‌وقفه اکوسیستم Firebase ایجاد کنید.

dependencies {
...
// Import the BoM for the Firebase platform
implementation(platform("com.google.firebase:firebase-bom:"))

// Add the dependency for the Vertex AI in Firebase library
// When using the BoM, you don't specify versions in Firebase
// library dependencies
implementation("com.google.firebase:firebase-vertexai")
}
با آزمایش دستورات در Vertex AI Studio شروع کنید. این یک رابط تعاملی برای طراحی سریع و نمونه سازی است. می‌توانید فایل‌ها را برای آزمایش اعلان‌ها با متن و تصویر آپلود کنید و درخواستی را ذخیره کنید تا بعداً دوباره آن را ببینید.

هنگامی که آماده تماس با Gemini API از برنامه خود هستید، Firebase و SDK را با دنبال کردن دستورالعمل‌های راهنمای شروع به کار Vertex AI در Firebase تنظیم کنید.

سپس، وابستگی Gradle را به پروژه خود اضافه کنید:

val generativeModel = Firebase.vertexAI
  .generativeModel(
  "gemini-2.0-flash",
  generationConfig = generationConfig {
        responseMimeType = "application/json"
        responseSchema = jsonSchema
  }
    )
اکنون می توانید از کد Kotlin خود با Gemini API تماس بگیرید. ابتدا سرویس Vertex AI را مقداردهی اولیه کنید و یک نمونه «GenerativeModel» ایجاد کنید:
scope.launch {
  val response = model.generateContent("
    Create a shopping list with $cuisineStyle ingredients")
}
در مورد یک برنامه دستور پخت نمونه، Gemini 2.0 Flash می‌تواند فهرست خریدی از مواد اولیه برای پخت یک غذا به سبک خاص آشپزی ایجاد کند. حتی می‌توانید از مدل بخواهید یک رشته JSON تولید کند که به راحتی در برنامه برای رندر کردن در رابط کاربری تجزیه شود. برای تولید لیست، کافیست تابع «generateContent()» را با یک دستور متنی فراخوانی کنید.

راهنمای برنامه نویس اندروید را مرور کنید تا در مورد آن بیشتر بدانید.

Imagen 3 برای تولید تصویر

Imagen 3 از طریق Vertex AI در Firebase قابل دسترسی است تا بتوانید تولید تصویر را به طور یکپارچه در برنامه های اندروید خود ادغام کنید. Imagen 3 به عنوان پیشرفته ترین مدل تولید تصویر گوگل، تصاویری با کیفیت بالا با جزئیات قابل توجه، حداقل مصنوعات و جلوه های نوری واقعی تولید می کند و استاندارد جدیدی را در تولید تصویر ایجاد می کند.

به عنوان مثال، Imagen 3 می تواند به کاربران شما اجازه دهد تا آواتارهای نمایه خود را ایجاد کنند یا دارایی هایی را برای نشان دادن جریان های موجود در صفحه ایجاد کنند. برای مثال برنامه آماده سازی غذا، می توانید از Imagen 3 برای تولید تصاویر برای صفحه دستور غذا استفاده کنید.

تصویر تولید شده توسط Imagen 3 با درخواست: تصویری به سبک کارتونی از نمای کلی یک میز آشپزخانه با مواد زیبا برای یک وعده غذایی مدیترانه ای.
dependencies {
    implementation(platform("com.google.firebase:firebase-bom:33.10.0"))

    implementation("com.google.firebase:firebase-vertexai")
}
ادغام Imagen 3 مشابه دسترسی به مدل Gemini از طریق Vertex AI در Firebase است.

با افزودن وابستگی های Gradle به پروژه اندروید خود شروع کنید:
val imageModel = Firebase.vertexAI.imagenModel(
modelName = "imagen-3.0-generate-001",
generationConfig = ImagenGenerationConfig(
  imageFormat = ImagenImageFormat.jpeg(compresssionQuality = 75),
  addWatermark = true,
  numberOfImages = 1,
  aspectRatio = ImagenAspectRatio.SQUARE_1x1
)
سپس، در کد Kotlin خود، با ارسال نام مدل و به صورت اختیاری، یک پیکربندی مدل، یک نمونه «ImageModel» ایجاد کنید:
val imageResponse = imageModel.generateImages(
prompt = "A cartoon style illustration of a top overview of a kitchen countertop
  with beautiful ingredients for a $cuisineStyle meal."
)
در نهایت با فراخوانی «generateImages()» با یک اعلان متن، تصویر را تولید کنید:
val image = imageResponse.images.first()
val uiImage = image.asBitmap()
تصویر تولید شده را از "imageResponse" بازیابی کنید و آن را به صورت بیت مپ نمایش دهید:
می‌توانید درباره استفاده از Imagen 3 در وبلاگ توسعه‌دهندگان Android و در مستندات برنامه‌نویس Android اطلاعات بیشتری کسب کنید.

با Firebase برای تولید آماده شوید

هنگامی که ویژگی‌های genAI خود را در برنامه خود پیاده‌سازی کردید، در اینجا برخی از مراحل مهم بعدی قبل از استقرار برنامه خود در تولید آورده شده است:
  • برای جلوگیری از سوء استفاده از API، بررسی برنامه Firebase را با Play Integrity اجرا کنید.
  • از Firebase Remote Config برای پیکربندی کنترل شده توسط سرور برای به روز رسانی پویا مدل و نسخه هوش مصنوعی استفاده کنید.
  • سازوکارهای بازخورد را با Google Analytics برای ارزیابی تأثیر و جمع‌آوری ورودی کاربر بر روی پاسخ‌های هوش مصنوعی بسازید.
همچنین، حریم خصوصی کاربر و استفاده مسئولانه از هوش مصنوعی را در نظر داشته باشید و با کاربران خود در مورد رفتارهای مدل غیرمنتظره بالقوه شفاف باشید. پست وبلاگ زیر را بخوانید تا درباره آمادگی تولید با Vertex AI در Firebase بیشتر بدانید.