Ek Veri Biçimi

Yakındaki Bildirimleri ekleri eklemenin en kolay yolu Google Beacon Kontrol Paneli. Alternatif olarak Proximity Beacon API ve aşağıda açıklanan ek verilerinin biçimi.

Yakındaki Bildirimleri özelliğinin ekleri, com.google.nearby ad alanı ve iki harfli dilden oluşan bir tür kodunu ve isteğe bağlı -debug son ekini ekleyin.

Ekler JSON kullanılarak biçimlendirilmelidir. Örneğin:

    {
      "title": "Example",
      "url": "https://www.example.com"
    }

JSON biçimi, aşağıda gösterildiği gibi isteğe bağlı olarak daha ayrıntılı hedeflemeye izin verir:

    {
      "title": "Example",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startDate": "2017-01-01",
          "endDate": "2017-01-31",
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00",
          "anyOfDaysOfWeek": [1, 2, 3, 4, 5, 6, 7],
          "anyOfAppInstallStates": ["INSTALLED", "NOT_INSTALLED"]
        }
      ]
    }

Burada:

  • title — İçeriğin başlığı. title uzunluğu daha kısa olmalıdır 40 karakterden uzun olmalı ve 50 karakterden kısa olmalıdır. Bu sayede ideal olarak kullanıcıya harekete geçirici bir mesaj verir. Örneğin, Order with your phone, skip the line, Set up your thermostat veya Learn more about sea otters.
  • url: Uygulamanın, web sitesinin veya hizmetin URL'si.
  • hedefleme: Bildirim görünürlüğünü sınırlamak için isteğe bağlı kurallar bir değişiklik gösterebilir.

URL biçimleri

Etrafımda Bildirimleri üç URL biçimini destekler:

Web URL'si

Web URL'si, adından da anlaşılacağı üzere normal bir URL'dir. Bir web URL'si alındığında, kullanıcıdan URL'yi varsayılan tarayıcıda açması istenir. Özel uygulama yok yapılandırma gerekli. Web URL'leri HTTPS kullanmalıdır ve normal URL:

  https://www.example.com

Web URL'niz bildirim tetiklemiyorsa bunun olası nedenleri şunlardır:

  • HTTPS yerine HTTP kullanma
  • Play.google.com gibi uygulama mağazasına bağlantı vermek yasaktır. Web sayfası platform hakkında yararlı bilgiler veya eylemler sunması gerekir. doğrudan açılış sayfasını ziyaret edin.

Uygulamanın amacı

Uygulama amacı URL'leri, uygulamada bir Intent'i tetiklemek için kullanılır. Uygulama amacı URL alındığında, ilişkili uygulama URL (ilgili uygulama amacı filtresinin bulunduğu sürece). Uygulama Uygulama yüklenmediğinde kullanıcı, uygulamayı yüklemek için Play Store'a yönlendirilir. Şu tarihten sonra: Kullanıcı uygulamayı yükledikten sonra uygulamayı başlatıp ilgili özelliğe devam edebilir geliştirici tarafından belirtilir. Uygulama amacı URL'leri aşağıdaki gibi biçimlendirilir:

  intent://host/path#Intent;scheme=yourscheme;package=com.yourapp.ui;end;

Amaç URL'lerini biçimlendirme hakkında daha fazla bilgi için şuraya bakın: Chrome ile Android Intents. Intent ekstralarının iletilmediğini unutmayın.

Ayrıca, bir amaç oluşturup daha sonra, intent.toUri(Intent.URI_INTENT_SCHEME) burada gösterildiği gibi:

    Intent intent = new Intent()
        .setData(new Uri.Builder()
            .scheme("yourscheme")
            .authority("host")
            .appendPath("path")
            .build())
        .setPackage("com.yourapp.ui");
    Log.i(TAG, "Use this intent url: " + intent.toUri(Intent.URI_INTENT_SCHEME));

Serbest biçimli uygulama amacı

Bu seçenek; şema, yol ve ve paket adı biçimi. Bu seçeneği yalnızca amaç URL'nizin düzgün bir şekilde biçimlendirilmelidir.

Kullanıcıyı şurada Play Store yerine belirli bir URL'ye göndermeyi seçebilirsiniz: uygulamanın yüklenmemesine neden olan bir etkinlik Amaca yönelik S.browser_fallback_url parametresi:

intent://host/path#Intent;scheme=yourscheme;package=com.yourapp.ui; \
  S.browser_fallback_url=http%3A%2F%2Fm.yoursite.com%2Fpath%2F%;end;

Bağlam hedefleme

Kurallar

Yakındaki Bildirimler dört hedefleme kuralını destekler:

Tarih

dateStart ve dateEnd, dönüşüm gerçekleştirileceği tarih aralığını belirtmek için kullanılır. ISO 8601 biçiminde görünür olduğundan emin olun. Aşağıdaki örnekte, Ocak 2017'deki bildirim gösterilmektedir:

    {
      "title": "January 2017",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startDate": "2017-01-01",
          "endDate": "2017-01-31"
        }
      ]
    }

Günün saati

"TimeOfDayStart" ve "timeOfDayEnd" zaman aralığını belirlemek için kullanılır (ISO 8601 biçiminde) ekleyin. Aşağıdaki örnekte her gün 09:00 ile 17:00 arasındaki bildirimler gösterilmektedir:

    {
      "title": "Work time",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00"
        }
      ]
    }

Haftanın günleri

"anyOfDaysOfweek" Haftanın günlerini belirtmek için kullanılır ek görünür durumda. Biçim, ISO 8601'dir ve 1(Pazartesi) ile 7(Pazar) arasındadır. Aşağıdaki örnekte cumartesi ve pazar günleri için olan bildirim gösterilmektedir:

    {
      "title": "Weekends",
      "url": "https://www.example.com",
      "targeting":[
        {
          "anyOfDaysOfWeek": [6, 7]
        }
      ]
    }

Uygulama yükleme durumu

"anyOfAppInstallStates" uygulamaya göre ek görünürlüğünü ayarlamak için kullanılır. yükleme durumlarıyla ilgili daha fazla bilgi edinin. Yalnızca Uygulama amacı URL'si için çalışır. Aşağıdakiler örneği, uygulama yüklenmediğinde bildirim gösteriyor.

    {
      "title": "App not installed",
      "url": "intent://host/path#Intent;package=com.example",
      "targeting":[
        {
          "anyOfAppInstallStates": ["NOT_INSTALLED"]
        }
      ]
    }

Kuralların kombinasyonu

Her ek için birden fazla hedefleme kuralı olabilir. Kurallar: aynı hedefleme nesnesi VE mantığıyla birleştirilir. Aşağıdaki örnek Cumartesi ve Pazar günleri 09:00 ile 17:00 arasında bir bildirim gösterilir.

    {
      "title": "Weekend and work time",
      "url": "https://www.example.com",
      "targeting":[
        {
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00"
          "anyOfDaysOfWeek": [6, 7]
        }
      ]
    }

Farklı hedefleme nesnelerinden gelen kurallar bir arada VEYA kullanılarak belirlenir. Aşağıdakiler örnekte, her gün pazartesiden cumaya 09:00 ile 17:00 saatleri arasında bir bildirim gösteriliyor. ve cumartesi ve pazar günleri tüm gün başlıyor.

    {
      "title": "Weekend or work time",
      "url": "https://www.example.com",
      "targeting":[
        {
          "anyOfDaysOfWeek": [6, 7]
        },
        {
          "startTimeOfDay": "9:00",
          "endTimeOfDay": "17:00"
        }
      ]
    }

Uygulamanıza intent filtresi ekleyin

Uygulamalar, belirtilen URL için şema, ana makine ve yolu işleyecek şekilde yapılandırılmalıdır. Bunu yapmak için AndroidManifest.xml dosyanıza bir öğe ekleyerek <intent-filter> şema, ana makine ve yol ile eşleşir ve bir kategoriyle göz atılabilir olarak işaretleyin aşağıdaki gibi filtre uygulayabilirsiniz:

  <intent-filter>
    <action android:name="android.intent.action.VIEW"/>
     <!-- both categories below are required -->
     <category android:name="android.intent.category.BROWSABLE"/>
     <category android:name="android.intent.category.DEFAULT"/>
    <data android:host="host"
          android:pathPrefix="/path"
          android:scheme="yourscheme"/>
  </intent-filter>

Daha fazla bilgi edinmek için bkz. Uygulama Bağlantılarını Kullanma.