Dieser Artikel wurde maschinell übersetzt.

Mobile Anwendungen

Erweiterte Pushbenachrichtigungen und mobile Analyse

Kevin Ashley

Laden Sie die Codebeispiele herunter

Mit der zunehmenden Komplexität der neuen mobile apps Entwickler interessieren uns den nächsten Schritt im Push-Benachrichtigung-Dienste — drücken Sie Analytics, Marktsegmentierung, reporting und erreichen via Push erhältlich über alle gängigen Plattformen. Microsoft hat vor kurzem die Capptain-Plattform, die alle diese Dienstleistungen und noch einige bietet.

Während Capptain noch kein Teil von Microsoft Azure ist, ist es bereits für Entwickler bei capptain.com. Azure bietet einen zuverlässigen Service für Push-Benachrichtigungen für Entwickler auf Windows 8, Android und iOS-Plattformen.Dieser Artikel behandelt fortgeschrittenen Themen in Push-Benachrichtigungen für mobile-Entwickler.  

Capptain bietet umfassende Analysen, die Ihnen sagen können, die meisten, was Sie brauchen, wissen über Ihre app auch auf welche Geräte es benutzt wird und Nutzungstrends. Es kann Segmente zu definieren, marketing-Kampagnen zu erstellen und Geld verdienen Ihre apps mit Push. Es ist leistungsfähige Technologie, und es kann für Sie zu arbeiten beginnen, mit nur wenigen Schritten.

Seiend ein mobile-Entwickler selbst, erkannte ich schnell die Vorteile der Verwendung von Capptain in Verbindung mit Azure Mobile Services. Meine aktiven Fitness-app (activefitness.co) hat eine große Nutzerbasis. Diese Studie gab mir Gelegenheit zum Experimentieren mit Capptain und in der Produktionsversion meiner APP zu verwenden.

Capptain Konzepte

In diesem Artikel werde ich die folgenden Hauptkonzepte von Capptain verwenden: Tätigkeiten, Arbeitsplätze, Anwendungsinformationen (Appinfo) und Extra Daten (Extras). Abbildung 1 listet die meisten Capptain Konzepte und Begriffe und sollte ein guter Ausgangspunkt, damit Sie verstehen, wie Capptain funktioniert.

Abbildung 1 Capptain Begriffe und Konzepte

Gerät Jedes Gerät erhält eine eindeutige Kennung. Wenn Sie mehrere Anwendungen auf demselben Gerät haben, werden die Geräte-ID (Deviceid) übereinstimmen. (Auf Windows Phone ist Gerätekennung eindeutig pro Gerät und Herausgeber).
Postfach Capptain weist implizit ein Benutzer ein Gerät, so dass Geräte und Benutzer entsprechende Konzepte sind.
Sitzung (Session) Eine Sitzung ist eine Verwendung der Anwendung, die von einem Benutzer ausgeführt. Sitzungen werden aus einer Folge von Tätigkeiten, die von einem Benutzer automatisch berechnet. Es gibt keine Notwendigkeit starten/eine Sitzung beenden. Stattdessen, Sie können starten/Aktivitäten stoppen. Wenn keine Ereignisse gemeldet wird, ist keine Sitzung berichtete.
Aktivität Eine Aktivität ist eine Verwendung eines bestimmten Teils der Anwendung durchgeführt, die von einem Benutzer (in der Regel kann ein Bildschirm, aber es alles für die Anwendung geeignet sein). Ein Benutzer kann nur eine Aktivität zu einem Zeitpunkt ausführen. Eine Aktivität hat Dauer — von dem Moment an es, um den Moment gestartet wird, es hat aufgehört.
Veranstaltung Ein Ereignis ist ein instant-Action; es nicht anders als eine Tätigkeit Dauer.
Job Ein Auftrag ist wie eine Aktivität. Sie können starten/stoppen es und es hat Dauer. Ein Job richtet sich an eine Hintergrundaufgabe, es möglicherweise keine Benutzeroberfläche.
Fehler Ein Fehler ist ein Thema, das durch die Anwendung korrekt gemeldet.
Absturz Das Capptain-SDK meldet automatisch ein Absturz und ein Anwendungsfehler.
Anwendungsinformationen (AppInfo) Hiermit wird der Tag Benutzern (ähnlich wie Cookies). Für einen bestimmten Schlüssel verfolgt von Capptain nur der neueste Wertsatz (keine Geschichte). Festlegen oder Ändern des Werts eines Appinfo zwingt Capptain Publikum-Kriterien auf diese Appinfo (falls vorhanden), was bedeutet, dass das Appinfo verwendet werden kann, in Echtzeit schiebt auslösen neu zu bewerten.
Zusätzliche Daten (Extras) Zusätzliche Daten (oder Extras) ist eine beliebigen Daten, die ein Ereignis, Fehler, Aktivität und Stelle zugeordnet werden können. Sie können diese Daten verwenden, um Möglichkeiten zur Identifizierung von Segmenten Ihrer Tätigkeiten, Arbeitsplätze usw. zu erstellen.

Aktivität ist ein grundlegendes Konzept zur Capptain. Beispielsweise könnte eine Aktivität eine Seite in Ihrer Anwendung, die der Benutzer besucht. Es könnte auch jede logische Tätigkeit sein, die Dauer hat. Job ist ein weiterer Begriff, der hat auch Dauer, jedoch Arbeitsplätze Hintergrundaufgaben, nicht unbedingt im Zusammenhang mit der Benutzeroberfläche zugeordnet sind.

Capptain bietet einen umfangreichen Satz von APIs und native SDKs für alle gängigen Plattformen: iOS, Android und Windows 8 (siehe Abbildung 2).

Abbildung 2-Capptain bietet einen umfangreichen Satz von APIs

Analytics API Die Analytics API ist ein HTTP-API, ermöglicht Ihnen das Abrufen von Analytics-Daten (diejenige auf der Registerkarte "Analytics" der Capptain-Website angezeigt).
Monitor-API Die Monitor-API ist ein XMPP-API, die Sie in Echtzeit-Monitor-Daten (angezeigt auf der Registerkarte Monitor der Capptain-Website eine) abrufen können.
Segmente API Die Segmente-API ist ein HTTP-API, mit dem Sie Capptain Segmente (alles unter der Registerkarte "Segmente" der Capptain-Website) verwalten können.
API zu erreichen Die erreichen-API ist ein HTTP-API, die Sie Reach Kampagnen zu verwalten, ohne die Capptain Web-Schnittstelle manuell verwenden können. Die erreichen-API ist eine High-Level-API, so dass Sie das Web-Interface des Capptain Reach Kampagnen-Manager nutzen können.
Geräte API Die Device-API ist eine HTTP/REST-API, die können Sie abrufen und von der Capptain-Plattform über alle Geräte (und Benutzer) mit Ihrer Anwendung gesammelte Informationen zu bereichern.
Push-API Die Push-API ist ein HTTP-API, können Sie benutzerdefinierte Daten an Geräte, die das Ausführen einer Anwendung, die Einbettung der Capptain SDK zu schieben.
SDK-API Die SDK-API ist ein HTTP-API, welches läßt Sie Berichten protokolliert wie eine native SDK tun würde, aber mit einer einfachen HTTP-API.
Konto-API Der AccountManagement-API ist eine Reihe von HTTP-APIs abzielen, Abrufen oder kontobezogene Informationen aktualisieren.

Neben diesen APIs bietet Capptain mehrere SDKs für alle gängigen Plattformen in aufgeführten Abbildung 3.

Abbildung 3 Capptain bietet SDKs für alle großen Plattformen unterstützen

Android SDK Native Android SDK
iOS SDK Native iOS SDK
WWW Web SDK
Windows Phone Windows Phone SDK
Windows 8 Windows-Speicher-SDK

Erste Schritte mit Capptain

Zuerst gehen Sie zu capptain.com und ein Konto erstellen. Nachdem Sie ein Konto haben, richten Sie eine Anwendung Ihrer Wahl – ob auf Android, iOS, Windows Phone, Windows-Speicher (Windows 8.x) oder Web. Jede app hat eine zugehörige SDK, das ich zeigen werde, wie nach einer Erklärung, die Capptain-Konzepte verwendet. Capptain bietet ebenfalls eine Reihe von Demoanwendungen finden Sie am unteren Rand Ihrer Kontoseite. Sie können auch überprüfen, welche Art von Analytics, mit Daten bereits bietet.

Activity Tracking implementieren

Inbetriebnahme der Capptain, beginnen Sie mit dem richtigen SDK für Ihre Plattform. Ich stellte ein Beispiel auf GitHub veröffentlicht, die zeigt, wie die SDK für Windows 8.1 verwendet. SDKs auf anderen Plattformen funktionieren ähnlich, und verwenden die gleichen grundlegenden Konzepte.

In der Package.appxmanifest müssen Sie sicherstellen, dass Internet-Fähigkeit aktiviert ist. Gehen Sie zum Bereich "Erklärungen" der Package.appxmanifest-Datei. Verfügbare Erklärungen wählen und Hinzufügen von Dateitypzuordnungen. Geben Sie im Fenster rechts in das Feld Name Capptain_log_file, und die Datei geben Sie im Feld Typ .set. Dann verfügbare Erklärungen wählen und Hinzufügen von zwischengespeicherten Datei Updater.

Verwenden Sie anschließend NuGet, um die neueste Version von Capptain für Windows 8.1 zu holen. Fügen Sie im Anwendungsereignisprotokoll OnLaunched den Initialisierungscode für Capptain. Kopieren Sie Ihre app-ID und SDK-Schlüssel aus dem Capptain-Portal:

/* Capptain configuration. */
CapptainConfiguration capptainConfiguration = new CapptainConfiguration();
capptainConfiguration.Agent.ApplicationId = "YOUR_APPID";
capptainConfiguration.Agent.SDKKey = "YOUR_SDK_KEY";
/* Initialize Capptain angent with above configuration. */
CapptainAgent.Instance.Init(e, capptainConfiguration);

Ich wollte für meine app, Capptain, Seiten zu verfolgen und wie viel Zeit der Benutzer auf jeder Seite verbringt. Der folgende Ausschnitt, wenn in der Seite OnNavigatedTo-Methode, platziert startet HubPage als eine neue Aktivität in Capptain verfolgen:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
  base.OnNavigatedTo(e);
  CapptainAgent.Instance.StartActivity("HubPage");
}

Denken Sie daran, in Capptain können Sie nur eine Aktivität haben, zu einem Zeitpunkt pro Benutzer pro app. Du musst nicht "Endaktivität" nennen. Die neue Seite ruft StartActivity, und die alte Aktivität automatisch endet. Wenn Sie viele Seiten haben, können Sie diesen Ansatz vereinfachen, durch Ableiten von einer Sonderklasse, genannt CapptainPage. Dies wird automatisch Ihre Seiten mit neuen Aktivitäten in Verbindung bringen.

Eine weitere Möglichkeit, Ihre Aktivitäten mit Capptain zu verfolgen ist, indem Sie Ihre Seite von CapptainPage ableiten. Der Vorteil dieser Methode ist, dass Sie StartActivity manuell in die OnNavigatedTo-Handler nicht brauchen. Die CapptainPage wird es für Sie behandeln. Um auf diese Weise fügen Sie den folgenden Code einfach in Ihrem XAML-Code:

<capptain:CapptainPage
  xmlns:capptain="using:Capptain.Agent">
  <!-- layout -->
  ...
</capptain:CapptainPage >

Mit diesem Code rief ich die StartActivity-Methode mit HubPage. Wenn Sie die CapptainPage verwenden, müssen Sie nicht rufen Sie Start­Aktivität. Es wird standardmäßig der Name der Seite verfolgen. Sie können immer überschreiben, GetCapptainPageName um einen anderen Wert zu melden.

// In the .xaml.cs file
protected override string GetCapptainPageName()
{
  /* your code */
  return "new name";
}

Reichweite mit Push-Benachrichtigungen verwenden

Capptain ist besonders interessant für mobile Anwendungen, da Sie können push-Benachrichtigungen an Benutzergeräte, die mit Capptain zu erreichen. Sie können Kampagnen einrichten und überwachen Sie dann, wie sie ausgeliefert sind. Sie können für die Ankündigungen, die Sie drücken, Kampagnenname, Inhalt (einschließlich Bilder) zu definieren, definieren Sie Ihre Zielgruppe, timing und so weiter.

Capptain Reach ist eine leistungsstarke Funktion, denn es Sie lässt mit dem Werbe-Kampagnen, Promotions und andere Arten von marketing-Kampagnen direkt an Ihre Benutzer. Der Schlüssel für erfolgreiches Marketing ist Relevanz. Durch die Möglichkeit des Capptain zu wissen genau welche Seite der Benutzer befindet, oder welche Aktivität Ihrer Benutzer kann tun, jede Kampagne relevanter und effizienter.

Capptain verwendet für Windows Store apps die Windows-Meldungen-Service (WNS). Sie müssen aktualisieren Ihre Paket-Manifest und das Capptain-Portal mit dem WNS-Schlüssel. Es gibt zwei Szenarien, in dem Sie können diese Benachrichtigungen in Ihre Anwendung integrieren — über Overlay oder WebView-Integration. Nachdem Sie ein Capptain-Konto gestartet haben, finden Sie in der Capptain-Dokumentation für vertiefte Integration Anleitung zu "Wie zu integrieren Capptain erreichen unter Windows" bei bit.ly/12b3bub und "Initialize the Capptain erreichen SDK" bei bit.ly/1w90J3M.

Overlay-Integration

Mit Overlay-Integration leiten Sie von der CapptainPageOverlay-Seite. Die Benachrichtigung wird automatisch mit Ressourcen inklusive NuGet im Verzeichnis Resources/Overlay geliefert. Wenn eine Benachrichtigung aus zu erreichen-API kommt, wird Ihre app-Seite die Ankündigung, eingebettet in CapptainOverlayAnnouncement oder CapptainOverlayNotification Spritzen. Jede dieser Ansichten enthält einen WebView, die die Ankündigung anzeigt. Sie können diese Ansichten weiter anpassen, wenn Sie Ihre eigene Präsentation für die Reach-Benachrichtigung implementieren möchten.

Um zu beginnen, fügen Sie die folgende Deklaration in jede XAML-Seite in Ihrem Projekt (ich implementiert diese Methode in der ItemPage.xaml des Beispielprojekts diesem Artikel enthalten):

xmlns:capptain="using:Capptain.Overlay"

Machen Sie in XAML statt < Seite > Ihre Seite, die CapptainPageOverlay, wie folgt abgeleitet:

public sealed partial class ItemPage :
      CapptainPageOverlay

Capptain Reach wird äußert Benachrichtigung im ersten Grid Spritzen, die sie auf Ihrer Seite findet. Wenn Sie ein bestimmtes Raster um die Ansicht zu erhalten möchten, können Sie das Raster mit dem Namen CapptainGrid:

<Grid x:Name="CapptainGrid"></Grid>

WebView-Integration

WebView-Integration müssen Sie Webansichten für mit dem Namen Capptain_notification_content oder Capptain_announcement_content, abhängig von der Art der Inhalte, die Sie benötigen, zu erhalten.

Verwenden Sie den folgenden Code, um die Webansichten für einzufügen:

<capptain:CapptainPage
  xmlns:capptain="using:Capptain.Page">
  <Grid>
    <WebView x:Name="capptain_notification_content" 
      Visibility="Collapsed"
      ScriptNotify="scriptEvent" Height="64" 
      HorizontalAlignment="Right"
      VerticalAlignment="Top"/>
    <WebView x:Name="capptain_announcement_content"
      Visibility="Collapsed"
      ScriptNotify="scriptEvent" HorizontalAlignment="Right"
      VerticalAlignment="Top"/>
    <!-- layout -->
  </Grid>
</capptain:CapptainPage>

Daten-Push-Benachrichtigungen

Neben visuelle Inhalte in Ihrer Anwendung mit den Methoden Overlay und WebView-Integration, können Sie auch Daten-Push-Benachrichtigungen direkt in Ihrer Anwendung erhalten. Hierzu müssen Sie zwei Handler implementieren. Der beste Ort, um sie zu setzen ist der Konstruktor des App-Objekts, in App.cs, siehe Abbildung 4.

Abbildung 4 implementierende Handler im Konstruktor des App-Objekts

CapptainReach.Instance.DataPushStringReceived += (body) =>
{
  Debug.WriteLine("String data push message received: " + body);
  return true;
};
CapptainReach.Instance.DataPushBase64Received 
  += (decodedBody, encodedBody) =>
{
  Debug.WriteLine("Base64 data push message received: " 
   + encodedBody);
  // Do something useful with decodedBody like updating an image view
  return true;
};
CapptainReach.Instance.PushMessageReceived 
  += (id, replyTo, payload) =>
{
  // Your code
};

Alysieren Sie die Ergebnisse an

Capptain bietet eine reiche Ansicht Ihrer Daten. Sie können technische Informationen in Verbindung mit Ihren Geräten, z. B. Hersteller, Betriebssystemversion, Firmware, Bildschirmauflösung und SDK-Version anzeigen. Nun, da Ihre app Aktivitätsinformationen an Capptain sendet, können Sie auch keine technischen Details verfolgen, die Sie mögen.

Zusammenfassung

Push-Benachrichtigungen sind leistungsstarke Mechanismen. Die meisten Plattformen bieten derzeit Notification Service Mechanismen, wie WNS, ANS und Google Cloud Messaging. Azure bietet auch eine skalierbare Infrastruktur, die Benachrichtigung Hubs bezeichnet. Als mobile Anwendungen zu entwickeln, besteht die Notwendigkeit in der Analytik, Reichweite, Werbung und marketing-Kampagnen mit Push zu koordinieren. Capptain bietet dieser nächsten Ebene-Push Benachrichtigungen, dass Analytics viele mobile Entwickler Stufe benötigen.


Kevin Ashley ist ein Architekt-Evangelist für Microsoft. Er ist Mitautor von "Professional Windows 8 Programming" (Wrox, 2012) und Entwickler von Top-Anwendungen und Spiele. Oft präsentiert er auf Technologie auf verschiedenen Veranstaltungen, Industrie und Webcasts. In seiner Rolle arbeitet er mit Start-ups und Partner, Beratung bei Software-Design, Business und Technologie-Strategie, Architektur und Entwicklung. Folgen Sie seinen Blog unter kevinashley.com und auf Twitter bei twitter.com/kashleytwit.

Unser Dank gilt den folgenden technischen Experten von Microsoft für die Durchsicht dieses Artikels: Greg Oliver und Bruno Terkaly