Skip to content

Commit 4b51f35

Browse files
committed
feat: update snippets for media ios
1 parent 3a50e31 commit 4b51f35

File tree

6 files changed

+80
-78
lines changed

6 files changed

+80
-78
lines changed
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
if (message.hasMedia) {
2-
NSLog(@"mediaFilename: %@ (optional)", message.mediaFilename);
3-
NSLog(@"mediaSize: %ld", message.mediaSize);
4-
}
1+
if (!message.attachedMedia.isEmpty) {
2+
for (TCHMedia *media in message.attachedMedia) {
3+
NSLog(@"media filename: %@ (optional)", media.filename);
4+
NSLog(@"media size: %ld", media.size);
5+
}
6+
}
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
if (message.hasMedia) {
2-
print("mediaFilename: \(String(describing: message.mediaFilename)) (optional)")
3-
print("mediaSize: \(message.mediaSize)")
4-
}
1+
if (!message.attachedMedia.isEmpty) {
2+
for media in message.attachedMedia {
3+
print("media filename: \(String(describing: media.filename)) (optional)")
4+
print("media size: \(media.size)")
5+
}
6+
}
Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
// The data for the image you would like to send
22
NSData *data = nil;
33

4-
// Prepare the upload stream and parameters
5-
TCHMessageOptions *messageOptions = [[TCHMessageOptions alloc] init];
6-
NSInputStream *inputStream = [NSInputStream inputStreamWithData:data];
7-
[messageOptions withMediaStream:inputStream
8-
contentType:@"image/jpeg"
9-
defaultFilename:@"image.jpg"
10-
onStarted:^{
11-
// Called when upload of media begins.
12-
NSLog(@"Media upload started");
13-
} onProgress:^(NSUInteger bytes) {
14-
// Called as upload progresses, with the current byte count.
15-
NSLog(@"Media upload progress: %ld", bytes);
16-
} onCompleted:^(NSString * _Nonnull mediaSid) {
17-
// Called when upload is completed, with the new mediaSid if successful.
18-
// Full failure details will be provided through sendMessage's completion.
19-
NSLog(@"Media upload completed");
20-
}];
4+
// Prepare the message
5+
TCHMessageBuilder *messageBuilder = [self.conversation prepareMessage];
6+
7+
TCHMediaListener *mediaListener = [[TCHMediaListener alloc] initWithOnStarted:^{
8+
// Called when upload of media begins.
9+
NSLog(@"Media upload started");
10+
} onProgress^(NSUInteger bytes) {
11+
// Called as upload progresses, with the current byte count.
12+
NSLog(@"Media upload progress: %ld", bytes);
13+
} onCompleted:^(NSString * _Nonnull mediaSid) {
14+
// Called when upload is completed, with the new mediaSid if successful.
15+
NSLog(@"Media upload completed");
16+
} onError:^(TCHError *error) {
17+
// Error details in case upload has failed.
18+
NSLog(@"Media upload failed with error: %@", error);
19+
}];
20+
21+
[messageBuilder addMediaWithData:data contentType:@"image/jpeg" filename:@"image.jpg" listener:mediaListener];
2122

2223
// Trigger the sending of the message.
23-
[self.channel.messages sendMessageWithOptions:messageOptions
24-
completion:^(TCHResult *result, TCHMessage *message) {
25-
if (!result.isSuccessful) {
26-
NSLog(@"Creation failed: %@", result.error);
27-
} else {
28-
NSLog(@"Creation successful");
29-
}
30-
}];
24+
[messageBuilder buildAndSendWithCompletion:^(TCHResult *result, TCHMessage *message) {
25+
if (!result.isSuccessful) {
26+
NSLog(@"Creation failed: %@", result.error);
27+
} else {
28+
NSLog(@"Creation successful");
29+
}
30+
}];
Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,27 @@
11
// The data for the image you would like to send
22
let data = Data()
33

4-
// Prepare the upload stream and parameters
5-
let messageOptions = TCHMessageOptions()
6-
let inputStream = InputStream(data: data)
7-
messageOptions.withMediaStream(inputStream,
8-
contentType: "image/jpeg",
9-
defaultFilename: "image.jpg",
10-
onStarted: {
11-
// Called when upload of media begins.
12-
print("Media upload started")
13-
},
14-
onProgress: { (bytes) in
15-
// Called as upload progresses, with the current byte count.
16-
print("Media upload progress: \(bytes)")
17-
}) { (mediaSid) in
18-
// Called when upload is completed, with the new mediaSid if successful.
19-
// Full failure details will be provided through sendMessage's completion.
20-
print("Media upload completed")
21-
}
22-
23-
// Trigger the sending of the message.
24-
self.channel.messages?.sendMessage(with: messageOptions,
25-
completion: { (result, message) in
26-
if !result.isSuccessful() {
27-
print("Creation failed: \(String(describing: result.error))")
28-
} else {
29-
print("Creation successful")
30-
}
31-
})
4+
// Prepare the message and send it
5+
self.conversation.prepareMessage
6+
.addMedia(data: data, contentType: "image/jpeg", filename: "image.jpg", listener: .init(onStarted: {
7+
// Called when upload of media begins.
8+
print("Media upload started")
9+
}, onProgress: { bytes in
10+
// Called as upload progresses, with the current byte count.
11+
print("Media upload progress: \(bytes)")
12+
}, onCompleted: { sid in
13+
// Called when upload is completed, with the new mediaSid if successful.
14+
// Full failure details will be provided through sendMessage's completion.
15+
print("Media upload completed")
16+
}, onFailed: { error in
17+
// Called when upload is completed, with the new mediaSid if successful.
18+
// Full failure details will be provided through sendMessage's completion.
19+
print("Media upload failed with error: \(error)")
20+
}))
21+
.buildAndSend { result, message in
22+
if !result.isSuccessful {
23+
print("Creation failed: \(String(describing: result.error))")
24+
} else {
25+
print("Creation successful")
26+
}
27+
}
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
if (message.hasMedia) {
2-
[message getMediaContentTemporaryUrlWithCompletion:^(TCHResult * _Nonnull result,
3-
NSString * _Nullable mediaContentURL) {
4-
if (result.isSuccessful) {
5-
// Use the url to download an image or other media
6-
NSLog(@"%@", mediaContentURL);
7-
}
8-
}];
9-
}
1+
[conversationsClient getTemporaryContentUrlsForMedia:message.attachedMedia completion:^(TCHResult *result, NSDictionary *mediaSidToUrlMap) {
2+
if (!result.isSuccessful) {
3+
NSLog("Cannot get temporary urls with error: %@", result.error);
4+
return;
5+
}
6+
7+
for (NSString *sid in mediaSidToUrlMap) {
8+
NSLog(@"%@ -> %@", sid, mediaSidToUrlMap[sid]);
9+
}
10+
}];
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
if message.hasMedia() {
2-
message.getMediaContentTemporaryUrl { (result, mediaContentUrl) in
3-
guard let mediaContentUrl = mediaContentUrl else {
4-
return
5-
}
6-
// Use the url to download an image or other media
7-
print(mediaContentUrl)
1+
conversationsClient.getTemporaryContentUrlsForMedia(message.attachedMedia) { result, mediaSidToUrlMap in
2+
guard result.isSuccessful else {
3+
print("Couldn't get temporary urls with error: \(String(describing: result.error))")
4+
return
85
}
9-
}
6+
7+
for (sid, url) in sidToUrlMap {
8+
print("\(sid) -> \(url)")
9+
}
10+
}

0 commit comments

Comments
 (0)