Informazioni sul metodo di richiamo dell'applicazione da BlackBerry Messenger
È possibile utilizzare BBMPlatformContextListener.appInvoked() per rilevare il metodo di richiamo dell'applicazione da BlackBerry Messenger e per raccogliere i relativi dati, come l'utente attuale, il contatto, il PPID e le voci della casella del profilo. È possibile utilizzare queste informazioni per imparare come vengono utilizzate le funzionalità BBM integrate nell'applicazione. Ad esempio, si potrebbe voler modificare il comportamento dell'applicazione in modo che venga aperta nel contesto in cui viene solitamente richiamata, ad esempio quando si visualizza un elenco di successi in una casella del profilo dell'utente. Le informazioni possono anche aiutare a determinare l'importanza di queste funzionalità per l'applicazione.
La tabella seguente mostra le informazioni contestuali che BBMPlatformContextListener.appInvoked(reason, param, user) può acquisire con ogni costante motivo:
| Costante motivo |
L'applicazione è richiamata quando l'utente attuale fa clic |
Parametro |
Utente |
|---|---|---|---|
| INVOKE_PROFILE_BOX_ITEM |
Una voce della casella del profilo dell'utente per l'applicazione |
Il UserProfileBoxItem su cui è stato fatto clic |
L'utente sulla cui voce della casella del profilo è stato fatto clic (potrebbe essere l'utente attuale) |
| INVOKE_PROFILE_BOX |
Un'intestazione della casella del profilo dell'utente per l'applicazione |
null |
L'utente sulla cui casella del profilo è stato fatto clic (potrebbe essere l'utente attuale) |
INVOKE_PERSONAL_MESSAGE |
Il collegamento al messaggio personale dell'applicazione in un profilo del contatto |
La stringa del messaggio personale (escluso il collegamento all'applicazione) |
Il contatto sul cui collegamento al messaggio personale è stato fatto clic |
INVOKE_CHAT_MESSAGE |
Il collegamento all'applicazione in un messaggio di chat del contatto |
null |
Il contatto sul cui collegamento al messaggio di chat è stato fatto clic |
Di seguito verranno esaminati alcuni scenari
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();
}
}
Le informazioni sono state utili? Inviateci i vostri commenti.