Datenformat des Anhangs

Am einfachsten können Sie Nearby-Benachrichtigungen als Anhänge hinzufügen, indem Sie <ph type="x-smartling-placeholder"></ph> Google Beacon-Dashboard Alternativ können Sie die Methode <ph type="x-smartling-placeholder"></ph> Proximity Beacon API und im unten beschriebenen Datenformat für Anhänge.

Anhänge für die Funktion "Nearby-Benachrichtigungen" müssen die Methode com.google.nearby-Namespace und einen Typ, der aus der aus zwei Buchstaben bestehenden Sprache besteht Code und optionales -debug-Suffix.

Anhänge sollten im JSON-Format formatiert sein. Beispiel:

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

Das JSON-Format ermöglicht optional ein spezifisches Targeting, wie unten gezeigt:

    {
      "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"]
        }
      ]
    }

Wobei:

  • title – Titel des Inhalts. Die Länge von title sollte kürzer sein maximal 40 Zeichen und muss weniger als 50 Zeichen lang sein. Dies sollte idealerweise Call-to-Action für Nutzende. Beispiel: Order with your phone, skip the line, Set up your thermostat oder Learn more about sea otters.
  • url – Die URL für die App, die Website oder den Dienst.
  • Targeting – Optionale Regeln zur Einschränkung der Sichtbarkeit von Benachrichtigungen je nach Gerätekontext.

URL-Formate

Nearby-Benachrichtigungen unterstützen drei URL-Formate:

Web-URL

Eine Web-URL ist genau das, eine normale URL. Wenn eine Web-URL empfangen wird, wird der Nutzer aufgefordert, die URL im Standardbrowser zu öffnen. Keine spezielle App Konfiguration erforderlich. Web-URLs müssen HTTPS verwenden und sind folgendermaßen formatiert: Normale URL:

  https://www.example.com

Wenn Ihre Web-URL keine Benachrichtigung auslöst, kann das folgende Ursachen haben:

  • HTTP statt HTTPS verwenden
  • Links zu App-Shops wie play.google.com sind nicht zulässig. Webseite sollte für sich allein stehen und nützliche Informationen oder Aktionen direkt auf die Landingpage gelangen.

App-Intent

App-Intent-URLs werden verwendet, um in einer App einen Intent auszulösen. Wenn ein App-Intent URL empfangen, antwortet die zugehörige App auf die im URL, vorausgesetzt, der entsprechende App-Intent-Filter ist vorhanden. Wenn die App nicht installiert ist, wird der Nutzer zum Play Store weitergeleitet, wo er die App installieren kann. Nachher Wenn die App installiert ist, kann er sie starten und mit der Funktion fortfahren. vom Entwickler angegeben. App-Intent-URLs sind so formatiert:

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

Weitere Informationen zum Formatieren von Intent-URLs finden Sie unter Android Intents mit Chrome Intent-Extras werden nicht übergeben.

Sie können die URL auch korrekt konstruieren, indem Sie einen Intent erstellen und dann intent.toUri(Intent.URI_INTENT_SCHEME), wie hier gezeigt:

    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));

App-Intent im freien Format

Diese Option sollte für App-Intents verwendet werden, die nicht mit dem Schema, Pfad und das Format des Paketnamens. Verwenden Sie diese Option nur, wenn Sie sicher sind, dass Ihre Intent-URL richtig formatiert sind.

Sie können festlegen, dass der Nutzer statt zum Play Store an eine angegebene URL weitergeleitet wird in Ereignis, bei dem die App nicht installiert wurde, durch Hinzufügen eines S.browser_fallback_url an den Intent:

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

Kontext-Targeting

Regeln

Nearby-Benachrichtigungen unterstützen vier Ausrichtungsregeln:

Datum

Mit dateStart und dateEnd wird der Zeitraum angegeben, innerhalb dessen Der Anhang ist im ISO-8601-Format sichtbar. Das folgende Beispiel zeigt die Benachrichtigung für Januar 2017:

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

Tageszeit

„timeOfDayStart“ und "timeOfDayEnd" wird verwendet, um den täglichen Zeitraum innerhalb in dem der Anhang sichtbar ist. Die Angabe erfolgt im ISO-8601-Format. Das folgende Beispiel zeigt täglich zwischen 9:00 und 17:00 Uhr eine Benachrichtigung:

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

Wochentag

„anyOfDaysOfWeek“ wird verwendet, um die Wochentage anzugeben, an denen der Anhang ist sichtbar. Das Format ist ISO 8601 und reicht von 1(Montag) bis 7(Sonntag) aus. Im folgenden Beispiel wird eine Benachrichtigung für Samstag und Sonntag angezeigt:

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

Installationsstatus der App

&quot;anyOfAppInstallStates&quot; dient zum Einstellen der Sichtbarkeit von Anhängen je nach App Installationsstatus. Sie funktioniert nur für App-Intent-URLs. Die folgenden Beispiel zeigt eine Benachrichtigung, wenn die App nicht installiert ist.

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

Kombination von Regeln

Für jeden Anhang können mehrere Targeting-Regeln festgelegt werden. Regeln aus der Targeting-Objekte mit AND verknüpft. Im folgenden Beispiel zeigt eine Benachrichtigung samstags und sonntags von 9:00 bis 17:00 Uhr.

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

Die Regeln aus den verschiedenen Targeting-Objekten werden in einer OR-Beziehung miteinander verknüpft. Die folgenden eine Benachrichtigung von Montag bis Freitag von 09:00 bis 17:00 Uhr, sowie samstags und sonntags den ganzen Tag.

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

Intent-Filter zur App hinzufügen

Apps müssen so konfiguriert sein, dass sie das Schema, den Host und den Pfad für die angegebene URL verarbeiten können. Fügen Sie dazu ein -Element zu Ihrer AndroidManifest.xml-Datei hinzu, das ein <intent-filter>, die mit dem Schema, Host und Pfad übereinstimmt und es mit einer Kategorie als durchsuchbar kennzeichnet. wie hier gezeigt:

  <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>

Weitere Informationen finden Sie unter Umgang mit App-Links