none
App über einen Link starten?? RRS feed

  • Frage

  • Hallo Gemeinde,

    ich bin gerade frisch in die Windows Phone App-entwicklung eingestiegen.

    Ich will ein Projekt von mir nun von Android auf WP und schreiben.

    Nun ist meine Frage: Ist es möglich eine Wp-app über einen Link zu starten und parameter zu übergeben?

    Gruß Alex

    Donnerstag, 11. April 2013 06:18

Antworten

  • Ich erklär es mal an einem Praktischen Beispiel: Ihr nehmt einen Link aus dem Windows Phone Store (pc), schickt ihn an eurer Handy und öffnet ihn dort, via Kopieren und Einfügen im Browser.

    Nun wird ja der Browser geschlossen und die App des Store´s öffnet sich.

    Genau diese Funktionalität suche ich.

    Hallo Alex,

    zunächst musst du für deine App einen URI-Schemanamen registrieren (im WMAppManifest.xml), sodass sie mithilfe einer URI gestartet werden kann. Der URI können weitere Parameter angehängt werden. Hier ein Beispiel aus dem entsprechenden Abschnitt "URI associations" aus dem Artikel zu Auto-launching apps using file and URI associations for Windows Phone 8:

    contoso:ShowProducts?CategoryID=aea6ae1f-9894-404e-8bca-ec47ec5b9c6c

    Wird diese URI durch den Browser oder eine andere App (mithilfe des Launcher) aufgerufen, startet die mit dem Schemanamen "contoso" assoziierte App. Die App kann beim Start auf die übergebenen Parameter reagieren (siehe "Listening for a URI" aus o.g. Artikel).

    Beim Store ist das nicht anders, hier ist für die App der Schemaname "zune" registriert. Beispiel:

    zune://navigate/?phoneappID=cd938251-f789-4758-9f4d-cba5eca20ab3

    Wenn du den Link des Online-Stores im Browser deines Windows Phone einfügst und die Anfrage startest, wird ein kleiner Trick angewandt: Anhand des User Agent kann der Server erkennen, dass ein Windows Phone in Verwendung ist. Als Reaktion darauf gibt der Server nicht die Seite aus, sondern schickt den HTTP-Statuscode 302 (Found) zurück. Im Location-Feld der Antwort ist nun das Ziel angegeben, zu dem der Browser navigieren soll - es entspricht der oben angegebenen Adresse mit zune als Schemanamen:

    HTTP/1.1 302 Found
    Cache-Control: private
    Content-Type: text/html; charset=utf-8
    Content-Language: de-DE
    Location: zune://navigate/?phoneappID=cd938251-f789-4758-9f4d-cba5eca20ab3
    (...)

    Wenn du dieses Verhalten reproduzieren möchtest, musst du dies serverseitig implementieren.

    Nocheinmal zusammenfassend:

    1. Es ist möglich, einen URI-Schemanamen zu registrieren, über den die App mit Parametern gestartet werden kann.
    2. Es ist dann möglich, die App über den Webbrowser oder eine andere App zu starten.

    --
    Beste Grüße,
    Christian

    Freitag, 5. Juli 2013 21:08

Alle Antworten

  • Hallo 93Alex93,

    alle Möglichkeiten zum Starten einer Windows Phone App sind im Artikel unter [1] beschrieben. Von besonderer Bedeutung für Sie kann die Beschreibung der Ausführung einer Windows Phone App mittels URI [2] sein.

    [1] http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207014(v=vs.105).aspx
    [2] http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207014(v=vs.105).aspx#BKMK_LaunchingbuiltinappsviaURI

    Ich hoffe es hilft Ihnen weiter.

    Viele Grüße,
    Anna Koch
    App-Entwickler-Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

    • Als Antwort vorgeschlagen PeterNowak Freitag, 12. April 2013 06:54
    • Als Antwort markiert Ionut DumaModerator Dienstag, 16. April 2013 15:16
    • Tag als Antwort aufgehoben 93Alex93 Freitag, 5. Juli 2013 11:21
    • Nicht als Antwort vorgeschlagen 93Alex93 Freitag, 5. Juli 2013 11:57
    Donnerstag, 11. April 2013 12:10
  • Hallo Alex,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Wenn nicht, neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.

    Danke und viele Grüße,
    Ionut

    Dienstag, 16. April 2013 15:16
    Moderator
  • Hallo Gemeinde,

    leider bin ich immer noch nicht zu dem gewünschtem Ergebnis gekommen.

    Vielleicht haben wir uns auch nur falsch verstanden.

    Ich erklär es mal an einem Praktischen Beispiel: Ihr nehmt einen Link aus dem Windows Phone Store (pc), schickt ihn an eurer Handy und öffnet ihn dort, via Kopieren und Einfügen im Browser.

    Nun wird ja der Browser geschlossen und die App des Store´s öffnet sich.

    Genau diese Funktionalität suche ich.

    Gruß Alex


    Cave of programming

    Freitag, 5. Juli 2013 11:25
  • Ich erklär es mal an einem Praktischen Beispiel: Ihr nehmt einen Link aus dem Windows Phone Store (pc), schickt ihn an eurer Handy und öffnet ihn dort, via Kopieren und Einfügen im Browser.

    Nun wird ja der Browser geschlossen und die App des Store´s öffnet sich.

    Genau diese Funktionalität suche ich.

    Hallo Alex,

    zunächst musst du für deine App einen URI-Schemanamen registrieren (im WMAppManifest.xml), sodass sie mithilfe einer URI gestartet werden kann. Der URI können weitere Parameter angehängt werden. Hier ein Beispiel aus dem entsprechenden Abschnitt "URI associations" aus dem Artikel zu Auto-launching apps using file and URI associations for Windows Phone 8:

    contoso:ShowProducts?CategoryID=aea6ae1f-9894-404e-8bca-ec47ec5b9c6c

    Wird diese URI durch den Browser oder eine andere App (mithilfe des Launcher) aufgerufen, startet die mit dem Schemanamen "contoso" assoziierte App. Die App kann beim Start auf die übergebenen Parameter reagieren (siehe "Listening for a URI" aus o.g. Artikel).

    Beim Store ist das nicht anders, hier ist für die App der Schemaname "zune" registriert. Beispiel:

    zune://navigate/?phoneappID=cd938251-f789-4758-9f4d-cba5eca20ab3

    Wenn du den Link des Online-Stores im Browser deines Windows Phone einfügst und die Anfrage startest, wird ein kleiner Trick angewandt: Anhand des User Agent kann der Server erkennen, dass ein Windows Phone in Verwendung ist. Als Reaktion darauf gibt der Server nicht die Seite aus, sondern schickt den HTTP-Statuscode 302 (Found) zurück. Im Location-Feld der Antwort ist nun das Ziel angegeben, zu dem der Browser navigieren soll - es entspricht der oben angegebenen Adresse mit zune als Schemanamen:

    HTTP/1.1 302 Found
    Cache-Control: private
    Content-Type: text/html; charset=utf-8
    Content-Language: de-DE
    Location: zune://navigate/?phoneappID=cd938251-f789-4758-9f4d-cba5eca20ab3
    (...)

    Wenn du dieses Verhalten reproduzieren möchtest, musst du dies serverseitig implementieren.

    Nocheinmal zusammenfassend:

    1. Es ist möglich, einen URI-Schemanamen zu registrieren, über den die App mit Parametern gestartet werden kann.
    2. Es ist dann möglich, die App über den Webbrowser oder eine andere App zu starten.

    --
    Beste Grüße,
    Christian

    Freitag, 5. Juli 2013 21:08
  • Vielen Dank,

    Genau das habe ich gesucht.


    Cave of programming

    Montag, 22. Juli 2013 06:02