6.1 Implementation for Starting Connections
The Nintendo 3DS system may connect to the network independently from the application, via SpotPass or other communication features. Although it is possible to download data without going through the process of connecting to the network if the system is already connected, using Nintendo 3DS communication features in this way—without notifying system processes—will result in sudden disconnections and other unexpected behavior, because the system processes are responsible for managing Nintendo 3DS communication.
For this reason, the application must always start an Internet connection by calling either the nn::ac::CTR::Connect or nn::ac::CTR::ConnectAsync function.
You can use the following steps to check whether the application starts Internet connections by calling the functions listed above.
- In System Settings, go to Internet Settings, then Connection Settings, and enter an incorrect SSID or security key for the access point you want to connect to. This puts the system in a state where communication features are usable, but the system cannot connect to the access point.
- In the application, start an Internet connection.
- An 003-10xx or 003-11xx error is displayed, indicating failure to connect to the access point.
Internet Communication
Internet Connections
System Settings
nn::ac::CTR::Connect function
nn::ac::CTR::ConnectAsync function
6.2 Applications That Use Join-in Features
For applications that use join-in features, Nintendo recommends explicitly logging in to a friend server by calling the nn::friends::Login function beforehand.
It is also possible to use join-in features after the system has logged into the friend server in the background, but we cannot guarantee that you will remain logged in unless the application performs the login itself.
Internet Communication
Join-In Feature
Friend Server
Logins
nn::friends::Login Function
6.3 Applications That Use CTR-NEX
If your application uses CTR-NEX, use the unique codes (Game ID and Access Key) assigned separately to each application.
You can get unique codes from the Online title MAnagement System (OMAS), which is the website used to apply for network access.
Internet Communication
CTR-NEX
Unique Codes
Game ID
Access Key
OMAS
6.4 Timing of Display of Communication Errors
If the application detects an error in communication, display the error as soon as possible, at a time that does not inconvenience the user.
However, there is no problem with notifying the user later if it does not disadvantage the user. Below are some examples.
- If the application detects an error in communication that the user did not actively perform (for example, retrieving data in the background),
→ display this error when the user attempts to use the data that otherwise would have been retrieved. - If the application detects a non-fatal, data-manipulation error (for example, corruption in data that is not required for progress in the game),
→ display this error when the data is used. - If an error is detected during a cutscene or movie playback,
→ display the error after the end of the cutscene or movie playback.
Consult with Nintendo support if you cannot or do not wish to display errors immediately in cases other than the above. Nintendo will continue to add other examples to the above where the user is not inconvenienced.
If you have other methods by which you can tell ahead of time that an error will occur, it is acceptable to display the error beforehand.
Internet Communication
Communication Errors
Displaying Errors
6.5 Using Dedicated Immediate-Execution Tasks in SpotPass
Be aware of the following points if using a dedicated immediate-execution task with an application that uses SpotPass.
- Set Immediate Execution to “True” when filling out the form on OMAS.
- Use the nn::boss::RegisterImmediateTask function to register a task, and pass an instance of the nn::boss::FgOnlyTask class to the pTask argument.
- For the download URLs, set URLs that are displayed by the BOSS data server.
Specifically, they must have the following format.
https:://npdl.cdn.nintendowifi.net/p01/nsa/BossCode/FGONLYT/(Language)/ArchiveName - Use the nn::boss::FgOnlyTask::StartImmediate function to run the task.
SpotPass
Immediate execution
Dedicated Immediate-Execution Tasks
OMAS
nn::boss::RegisterImmediateTask function
nn::boss::FgOnlyTask class
nn::boss::FgOnlyTask::StartImmediate function
6.6 Using One-Time Immediate-Execution Tasks in SpotPass
When your application has a task that immediately executes a one-time download, and this task does not run again periodically, consider using a dedicated immediate-execution task.
If you do not use a dedicated immediate-execution task, delete the task once immediate execution has completed. Alternatively, set the task's execution count to "1" so that the task will run once and then be invalidated. For all task settings other than the execution count, set values that match the settings of a standard NADL task.
You can use the BossLotcheckTool to check to see if the task is deleted, or if the execution count for the registered task is now "0" and the task is invalid.
SpotPass
Immediate execution
Dedicated Immediate-Execution Tasks
6.7 Initial Upload of Data to a CTR-NEX Data Store
Any data your application uploads to a data store will not be available to it when launched on other systems or initialized systems, because the PrincipalID of those systems will be different.
As a result, your application must always display a message when first uploading data with the data store features of CTR-NEX, informing the user that they cannot use the data on a different system, and that uploaded data will become unusable if they format the system memory. You must also always include such a description in the manual.
However, if your application falls under the categories listed below, you do not need to display this message or include the description in the manual.
- Applications where the uploaded data cannot be viewed by the user later.
- Applications where deleting uploaded data does not adversely affect the game progress.
- Download-only applications. (Downloaded applications can only run on the system to which they were downloaded, and if the system is initialized the save data for these applications—saved on the SD Card—also becomes unusable.)
Internet Communication
CTR-NEX
Data Store Features
Uploads
PrincipalID
6.8 Connecting Only to Independent Servers Applied For on OMAS
If your application supports network features, and it connects to servers other than those provided by Nintendo, only access (or link to) servers that you can control directly or indirectly. Use OMAS to apply for permission to access a server.
It is prohibited to access servers that have not been registered. Note that if Nintendo confirms that the application accesses an unregistered sever, Nintendo may suspend the network service.
Internet Communication
Independent Servers
OMAS
Prohibition Against Connecting
Network-supported software