개발 가이드

Local Navigation

공개 세션 호스팅

시작하기 전에: BlackBerry Messenger 플랫폼에 프로그램 등록 작업을 완료하고 화면을 표시하는 클래스가 프로그램과 연결된 BBMPlatformContext 개체에 대한 참조를 화면의 생성자에 전달하도록 합니다.
  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import net.rim.blackberry.api.bbm.platform.*;
    import net.rim.blackberry.api.bbm.platform.service.*;
    import net.rim.device.api.ui.component.*;
    import net.rim.device.api.ui.container.MainScreen;
  2. 세션 수신기 정의. 5단계의 코드 샘플에서는 수신기 클래스 이름을 MySessionListener로 지정했다고 가정합니다.
  3. MainScreen을 확장하는 클래스를 만듭니다. 이 화면 클래스의 생성자에서 프로그램과 연결된 BBMPlatformContext 개체를 전달합니다.
    public class MyBBMInviteScreen extends MainScreen
    {
        public MyBBMInviteScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  4. 생성자에서 이 프로그램의 메시징 서비스에 대한 참조를 검색합니다.
    public class MyBBMInviteScreen extends MainScreen
    {
        public MyBBMInviteScreen(BBMPlatformContext platformContext) 
        {
            MessagingService messagingService = platformContext.getMessagingService();
        }
    }
  5. MessagingService.createSession()을 호출하여 새로운 BBMPlatformSession 인스턴스를 생성합니다. 2단계에서 정의한 수신기의 인스턴스를 매개 변수로 전달합니다.
    public class MyBBMInviteScreen extends MainScreen
    {
        public MyBBMInviteScreen(BBMPlatformContext platformContext) 
        {
            MessagingService messagingService = platformContext.getMessagingService();
            BBMPlatformSession mySession = messagingService.createSession(new 
                 MySessionListener());
        }
    }
  6. BBMPlatformSession.setPublic()을 호출하여 이 세션을 공개로 설정하면 BlackBerry® Messenger 대화 상대 목록에 없는 대화 상대가 세션에 참여할 수 있게 됩니다. 이 메서드가 호출되면 이를 확인하는 대화 상자가 표시됩니다.
    public class MyBBMInviteScreen extends MainScreen
    {
        public MyBBMInviteScreen(BBMPlatformContext platformContext) 
        {
            MessagingService messagingService = platformContext.getMessagingService();
            BBMPlatformSession mySession = messagingService.createSession(new 
             MySessionListener());
            boolean isHosting = mySession.setPublic();
             if (isHosting)
                 {
                    // add code to send PIN and PPID to your web service
                 }
        }
    }
    세션을 호스트하려는 경우 웹 서비스에 PIN과 PPID를 전송해야 합니다. 이제 BlackBerry Messenger 대화 상대가 아닌 사용자가 보낸 세션 참여 요청을 받을 수 있습니다. 프로그램이 BBMPlatformIncomingJoinRequest 개체를 수신하면 BBMPlatformSessionListener 구현의 joinRequestReceived() 메서드가 호출됩니다. 이 요청을 수락하거나 거절하려면 BBMPlatformIncomingJoinRequest.accept() 또는 BBMPlatformIncomingJoinRequest.decline()을 호출하면 됩니다.

코드 샘플: 공개 세션 호스팅

다음 코드 샘플에서는 MyBBMInviteScreen을 표시한 클래스가 프로그램과 연결된 BBMPlatformContext 개체에 대한 참조를 MyBBMInviteScreen 생성자에 전달했다고 가정합니다.

또한 이 코드 샘플에서는세션 수신기 정의 작업을 완료했고 세션 수신기 클래스 이름을 MySessionListener로 지정했다고 가정합니다.

import net.rim.blackberry.api.bbm.platform.*;
import net.rim.blackberry.api.bbm.platform.service.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.MainScreen;
public class MyBBMInviteScreen extends MainScreen
{
    public MyBBMInviteScreen(BBMPlatformContext platformContext)
    {
        MessagingService messagingService = platformContext.getMessagingService();
        BBMPlatformSession mySession = messagingService.createSession(new 
         MySessionListener());
        boolean isHosting = mySession.setPublic();
        if (isHosting) 
			{
			 	// add code to send PIN and PPID to your web service
			}	
    }
}
Back To Top

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.