Protocols/MSNP/Activities/SDK/Techref/Developing/Devsingle

From NINA Wiki
Jump to navigation Jump to search


MSNP Protocol
Activity SDK
Introduction to the MSN Messenger Activity API
Key Requirements for a MSN Messenger Activity
Introduction to MSN Messenger Activity API
Overview of MSN Messenger Activity API
Activities Menu
System Requirements
Standard vs. Advanced Applications
Supported Countries and Languages
MSN Messenger Activity API Support
Copyright Information
Glossary
MSN Messenger Activity API Process
MSN Messenger Activity Process Overview
Supporting Documentation
Requesting Usage of Special Permissions
Submitting Pre-compliance Testing Results
MSN Requirements for Developing an Activity API Application
Additional Activity API Application Development Requirements
Selecting Development Options
Activity API Restrictions
Developing a MSN Messenger Activity
Development Considerations
Getting Started
Required Definitions
Document Body Basics
Single-User Application
Multiuser Application
Designing MSN Messenger Activity Graphics
Testing an Activity
Testing Overview
The Local XML File
Test Environment Setup
Increasing MSN Messenger Activity Usage
Understanding How to Increase Activity Usage with MSN
Design Considerations for Increased Activity Usage
Calling the MSN Messenger Client Directly
Calling the MSN Messenger Client from a URL
Using the MSN Messenger Variables
Technical Reference
Obtaining Access to Restricted Features
Permission Flags
ActiveX Flag
EnableIP Flag
PassportSiteID Flag
ReceiveIM Flag
ReplaceIM Flag
SendFile Flag
SendIM Flag
UserProperties Flag
The Activity Object Model
Enumerations
ConnectionType Enumeration
FileStatus Enumeration
Methods
CloseApp Method
Objects
Channel Object
Events
OnAppClose Event
OnDataError Event
OnDataReceived Event
OnFileProgress Event (Restricted)
OnFileReceived Event (Restricted)
OnIMReceived Event (Restricted)
OnRemoteAppClosed Event
OnRemoteAppLoaded Event
OnSendFileCancelled Event (Restricted)
OnTypeChanged Event
Methods
CancelSendFile Method (Restricted)
EnterIM Method (Restricted)
Initialize Method
SendData Method
SendFile Method (Restricted)
SendIM Method (Restricted)
SendIMAsUser Method (Restricted)
Properties
Data Property
Error Property
FileInfo Property (Restricted)
Type Property
IM (read-only) Property (Restricted)
IM (read-write) Property (Restricted)
Error Object
Type Property
Data Property
FileInfo Object
Path Property
Size Property
Progress Property
Incoming Property
Status Property
Messenger Object
Options Method
Phone Method
User Object
EMail Property (Restricted)
GlobalIP Property (Restricted)
LocalIP Property (Restricted)
Name Property (Restricted)
PUID Property (Restricted)
Users Collection
Item Method
_NewEnum Method
Count Property
Me Property
Inviter Property
Overview
IntroductionTermsClients
Reference
Error ListCommandsRelying Party SuiteSpotlife
Services
XMPPHTTP GatewayTabsActivities
Documentation
Development ToolsMSNP Grid
PolygamyURLs used by MSN
Documents
Protocol Versions
Version 21
Version 18
Version 16
Version 15
Version 14
Version 13
Version 12
Version 11
Version 9
Version 8
Version 2
MSNC
IntroductionP2PObject DescriptorDisplay PicturesFile Transfer
Scenarios
Microsoft Messenger for Mac
MSNP on WebTV (MSNTV)

Single-User Application

A single-user MSN® Messenger Activity does not need event handlers for connection- or data-related events, because no invitation needs to be sent, and there is no connection.

If an application is granted one of the special permissions for instant messaging, it can participate in the exchange of instant messages. This feature may be useful for an application that translates incoming messages for display in the Messenger Conversation window.

The following processes are available to a single-user Activity:

  • Sending and receiving instant messages (with appropriate permission flags)
  • Error handling


Sending and Receiving Instant Messages

A single-user application can interact with instant messages by using the methods Channel.EnterIM, Channel.SendIM, or Channel.SendIMAsUser.

The methods Channel.SendIM and Channel.SendIMAsUser can be used to send instant messages.

An application that can receive instant messages must have an event handler called Channel.OnIMReceived. This event fires when the client receives an instant message.

Special permissions are required to use the instant message features. For more information on special permissions, see Standard vs. Advanced Applications.

Error Handling

An application should have an event handler for Channel.OnDataError. This event fires if Channel.SendIM or Channel.SendIMAsUser fails. When the event OnDataError is fired, the property Channel.Error.Type is set to an integer representing the type of error, and the property Channel.Error.Data provides a copy of the data. Typically, an application should try to send the data again, in case the error was an isolated communication problem.

Applications should also employ other error handling techniques, such as wrapping any method that sends instant messages in an error handling block. These could include a try-catch block in JavaScript or an ON ERROR GOTO statement in Microsoft® Visual Basic® Scripting Edition (VBScript).