אובייקטים מסוג Intent של Android עם Chrome

אפשר להפעיל אפליקציות ישירות מדף אינטרנט במכשיר Android באמצעות כוונת רכישה ל-Android. אפשר להטמיע תנועת משתמש כדי להפעיל את האפליקציה באמצעות או להשתמש בתחביר intent:.

צריך ליצור עוגן Intent ולהטמיע אותו בדף, כדי שהמשתמשים יוכלו לבחור להפעיל את האפליקציה. כך מתאפשרת גמישות לגבי אופן ומועד ההשקה של האפליקציות, כלומר, אתם יכולים להעביר מידע לאפליקציה באמצעות תוספות Intent.

התחביר הבסיסי של URI מבוסס-Intent הוא:

intent:  
   HOST/URI-path // Optional host  
   #Intent;  
      package=\[string\];  
      action=\[string\];  
      category=\[string\];  
      component=\[string\];  
      scheme=\[string\];  
   end;

כדי לנתח את הפרטים, אפשר לעיין בקוד המקור של Android.

כשפעולה של כוונה לא נפתרה או כשאפליקציה חיצונית לא מופעלת, את המשתמש ניתן להפנות אל כתובת ה-URL החלופית. אפשר לציין כתובת URL חלופית עם Intent מיוחד:

S.browser_fallback_url=[encoded_full_url]

משתמשים ב-S.<name> כדי להגדיר תוספות Intent. התוספת הספציפית הזו תואמת לאחור. Chrome מסיר את browser_fallback_url, לכן אפליקציית היעד לא רואה את הערך הזה.

Chrome לא יפעיל אפליקציה חיצונית במקרים הבאים:

  • לא ניתן לפענח את הכוונה. כלומר, אף אפליקציה לא יכולה להתמודד עם הכוונה.
  • טיימר ב-JavaScript ניסה לפתוח אפליקציה ללא תנועת משתמש.

דוגמאות

הנה Intent שמפעיל את אפליקציית סורק הברקוד של Zxing:

intent:  
   //scan/  
   #Intent;  
      package=com.google.zxing.client.android;  
      scheme=zxing;  
   end;

כדי להפעיל את אפליקציית סורק הברקוד Zxing, מקודדים את href בעוגן:

  <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">
    Take a QR code
  </a>

לעיון במניפסט של Android Zxing, שמגדיר את החבילה ואת המארח.

כשמצוינת כתובת URL חלופית, כתובת ה-URL המלאה נראית כך:

   <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end">
    Take a QR code
  </a>

עכשיו כתובת ה-URL שולחת את המשתמשים אל zxing.org אם לא ניתן למצוא את האפליקציה, הקישור מופעלות על ידי JavaScript ללא פעולת משתמש, או מקרים אחרים שבהם לא להפעיל אפליקציה חיצונית.

לתשומת ליבכם

אם מפעילים פעילות ב-Android עם Intent שמכיל תוספות, אפשר לכלול גם את הפרטים האלה.

רק פעילויות עם מסנן הקטגוריות, android.intent.category.BROWSABLE ניתן להפעיל באמצעות השיטה הזו, כי היא מצביעה על כך שהאפליקציה בטוחה לפתיחה מהדפדפן.

Chrome לא יפעיל אפליקציה חיצונית ל-Intent URI נתון אם:

  • ה-Intent URI מופנה מחדש מכתובת URL שהוקלדה.
  • ה-URI של ה-Intent מופעל ללא פעולת משתמש.