Ich habe Anwendung wo pubnub Chat-Funktion verwendet wurde. ich unten Funktion ausführen möchtenBenutzerliste für pubnub-Chat-Ziel c
1)register/login user in pubnub programatically for chat
2)Get list of the all the users
3)Make friend and send 1st message to the user
Ich bin mir bewusst darüber, wie Sie den Kanal erstellen. Ich hatte Kanal von unten Code erstellt:
PNConfiguration *configuration = [PNConfiguration configurationWithPublishKey:@"pub-c-XXXXXXXXXXXX-a2bf-XXXX-XXXX-XXXXXXXXXXXX"subscribeKey:@"sub-c-XXXXXXXXXXXX-02d0-XXXX-XXXX-XXXXXXXXXXXX"];
self.client = [PubNub clientWithConfiguration:configuration];
//[self.client addListener:self];
[self.client subscribeToChannels: @[@"my_channel"] withPresence:YES];
I get the channel architecture by : http://pubnub.github.io/pubnub-design-patterns/2015/03/05/Inbound-Channel-Pattern.html
But how do i get the list of the users and their channel and send the message.
I also found this : https://www.pubnub.com/docs/ios-objective-c/presence-sdk-v4
but this only show the friends status. whether they are online/offline by
Join
leave
timeout
Please advice and help
-Code die Liste der Benutzer zu finden sind unten, aber immer noch ist zeigen die ZERO-Benutzer:
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
PNConfiguration *configuration = [PNConfiguration configurationWithPublishKey:@"pub-c-XXXXXXXXXXXX-a2bf-XXXX-XXXX-XXXXXXXXXXXX"subscribeKey:@"sub-c-XXXXXXXXXXXX-02d0-XXXX-XXXX-XXXXXXXXXXXX"];
self.client = [PubNub clientWithConfiguration:configuration];
//Subscription process results arrive to listener which should adopt to PNObjectEventListener protocol and registered using:
[self.client addListener:self];
//Listeners callbacks:
[self.client subscribeToChannels: @[@"XXX"] withPresence:YES];
configuration.uuid = @"XXX";
[self.client hereNowForChannel:@"XXX" withVerbosity:PNHereNowState
completion:^(PNPresenceChannelHereNowResult *result,
PNErrorStatus *status) {
// Check whether request successfully completed or not.
if (!status.isError) {
NSLog(@"list of users %@", result.data.uuids);
NSLog(@"list of result.data.occupancy %@", result.data.occupancy);
// result.data.uuids - dictionary with active subscriber. Each entry will have next
// fields: "uuid" - identifier and "state" if it has been provided.
// result.data.occupancy - total number of active subscribers.
}
// Request processing failed.
else {
NSLog(@"FAIL");
// Handle presence audit error. Check 'category' property to find
// out possible issue because of which request did fail.
//
// Request can be resent using: [status retry];
}
}];
}
Vielen Dank für die Antwort. Ich habe versucht, per Code in Simulate auszuführen. 1) Ich abonniere mit dem Kanal: XXX und führe den Code aus, es gibt mir die Liste von result.data.uuids = 0 2) Ich abonniere mit dem Kanal: YYY und führe den Code aus, der mir die Liste von result.data.uuids gibt = 0. Muss ich den Code im Gerät ausführen? Zählt das nur die Benutzer, die im PRESENCE-Modus sind? Bitte erläutern Sie –
Haben Sie Presence für Ihre Schlüssel in Ihrem PubNub Account Dashboard aktiviert? –
[self.client subscribeToChannels: @ [@ "XXX"] mit Presence: YES]; und [self.client subscribeToChannels: @ [@ "YYY"] mit Presence: YES]; : - Ich habe diese Zeile im Code hinzugefügt Auch Subskriptionsschlüssel und öffentlicher Schlüssel sind immer eindeutig für das gesamte Projekt? –