Abrufen von Informationen darüber, wie Ihre Anwendung in BlackBerry Messenger aufgerufen wird

Sie können BBMPlatformContextListener.appInvoked() verwenden, um aufzuzeichnen, wie Ihre Anwendung in BlackBerry Messenger aufgerufen wurde, und um entsprechende Daten wie aktueller Benutzer, Kontakt, PPID oder Profilfeldelemente zu erfassen. Sie können diese Informationen verwenden, um herauszufinden, wie die in Ihre Anwendung integrierten BBM-Funktionen verwendet werden. Vielleicht möchten Sie das Verhalten Ihrer Anwendung ändern, damit sie in dem Kontext geöffnet wird, in dem sie gewöhnlich aufgerufen wird. Ein Beispiel: Wenn im Profilfeld eines Benutzers eine Leistungsliste angezeigt wird. So können Sie auch leichter bestimmen, wie wichtig diese Funktionen für Ihre Anwendung sind.

In der folgenden Tabelle sind die kontextbezogenen Informationen aufgeführt, die von BBMPlatformContextListener.appInvoked(reason, param, user) für die einzelnen Grundkonstanten aufgezeichnet werden können:

Grundkonstante

Anwendung wird aufgerufen, wenn der aktuelle Benutzer klickt

Param.

Benutzer

INVOKE_PROFILE_BOX_ITEM

Das Profilfeldelement eines Benutzers für die Anwendung

Das UserProfileBoxItem, auf das geklickt wurde

Der Benutzer, auf dessen Profilfeldelement geklickt wurde (wahrscheinlich der aktuelle Benutzer)

INVOKE_PROFILE_BOX

Die Profilfeldüberschrift eines Benutzers für die Anwendung

null

Der Benutzer, auf dessen Profilfeld geklickt wurde (wahrscheinlich der aktuelle Benutzer)

INVOKE_PERSONAL_MESSAGE

Der persönlicher Nachrichtenlink der Anwendung im Profil eines Kontakts

Die persönliche Nachrichtenzeichenfolge (ausschließlich des Links zur Anwendung)

Der Kontakt, auf dessen persönlichen Nachrichtenlink geklickt wurde

INVOKE_CHAT_MESSAGE

Der Link zur Anwendung in der Chatnachricht eines Kontakts

null

Der Kontakt, auf dessen Chatnachrichtenlink geklickt wurde

Lassen Sie uns einige Szenarios durchgehen.

public appInvoked(final int reason, final Object param, final Presence user)
{
    /* Scenario 1: The current user clicks a contact’s profile box header 
     * for the app. */
        if(reason == BBMPlatformContext.INVOKE_PROFILE_BOX)
        {
            int ppid = getPPID(user);
            /* Add code to capture all the items in the user's profile box,
             * for example, activities and achievements) /*
        }
    /* Scenario 2: The current user clicks a contact’s profile box item for the app.
     * The app can capture whose profile box was clicked, and the associated profile
     * box item. */
        if(reason == BBMPlatformContext.INVOKE_PROFILE_BOX_ITEM)
        {
            Int ppid = getPPID(user);
            UserProfileBoxItem item = (UserProfileBoxItem) param;
            // display the profile box item, for example, a game score
            int score = Integer.parseInt(item.getCookie());
        }
    /* Scenario 3: The current user clicks a contact’s personal message link
     * in a contact's profile. The app can capture whose personal message 
     * was clicked and the personal message (minus the app link).*/
        if(reason == BBMPlatformContext.INVOKE_PERSONAL_MESSAGE)
        {
            int ppid = getPPID(user);
            String personalMessage = (String) param;
        }
    /* Scenario 4: The current user clicks a contact’s chat message link
     * in a contact's chat message. The app can capture whose chat message 
     * link was clicked.*/
        if(reason == BBMPlatformContext.INVOKE_CHAT_MESSAGE)
        {
            int ppid = getPPID(user);
            //  Add code to start an activity with the contact
        }
}
// A generic function to obtain a user's unique ID
public static int getPPID (Presence user)
{
    if (user instanceof UserProfile)
    {   // returns the current user's PPID
        return ((UserProfile) user).getPPID();
    }
    else if(user instanceof BBMPlatformContact)
    {   // returns the contact's PPID
    return ((BBMPlatformContact) user).getPPID();
    }
}
Nächstes Thema: Fehlerbehebung

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.